1

誰でもこの問題の解決策を手伝ってくれます

私のコード:

NSMutableArray *listVC = [[NSMutableArray alloc] init];
HMScrollView *scrollView = [[HMScrollView alloc] initWithFrame:self.showView.bounds];

for (int i = 0; i < newsArray.count; i ++) {
    self.theNewDetailViewController = [[NewDetailViewController alloc] initWithNibName:@"NewDetailViewController" bundle:nil];
    self.theNewDetailViewController.abmObj = (AboutUS_MobileService*)[newsArray objectAtIndex:i];

    [self.theNewDetailViewController.view setFrame:CGRectMake(2, 0, scrollView.frame.size.width-4, scrollView.frame.size.height)];

    [listVC addObject:self.theNewDetailViewController];


    [self addChildViewController:self.theNewDetailViewController];
    [self.theNewDetailViewController didMoveToParentViewController:self];
}

[scrollView setData:listVC atIndex:index];
[self.showView addSubview:scrollView];
[self.showView bringSubviewToFront:self.imageHeader];
4

1 に答える 1

0

無限のメモリ容量を持つデバイスはないため、ここでのシナリオでは注意が必要です。iOS は、メモリが不足していると言っているだけです。おそらく、View Controller に割り当てるメモリが多すぎるためです。メモリを消費している場所を確認するには、Instruments メモリ プロファイラを使用する必要があります。計測器は、View Controller の大きさを教えてくれます。次に、どこに時間をかけて最適化する必要があるかを決定できます (ビューを減らすか、ビューを軽くするか)。

このコンテンツを表示するために UITableView/UICollectionView を使用することを検討しましたか。テーブル ビューとコレクション ビューを使用すると、コンテンツのリストを表示できますが (スクロール ビューに似ています)、遅延読み込みやセルの再利用などのトリックを使用してメモリの使用を賢くすることもできます。

于 2013-09-12T16:46:36.223 に答える