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 只是告诉你它的内存不足。可能是因为您为视图控制器分配了太多内存。您应该使用 Instruments 内存分析器来查看您在哪里使用了内存。Instruments 会告诉你视图控制器有多大。然后,您可以决定需要在哪里优化时间(更少的视图或更轻量的视图)。

您是否考虑过使用 UITableView/UICollectionView 来显示此内容。使用表格视图和集合视图,您可以显示内容列表(类似于滚动视图),但也可以通过延迟加载和单元重用等技巧巧妙地使用内存。

于 2013-09-12T16:46:36.223 回答