2010-12-19 101 views
0

我在我的iPad应用程序中有3个视图控制器。当第一个显示出来时,乐器中的活动监视器告诉我该应用程序的内存为25MB。在[self presentModalViewController]调用后,弹出一个新的视图控制器,内存高达50MB,然后是第三个70-75MB。iPad视图控制器内存管理

什么是iPad开发最好的视图控制器内存管理?当我在真正的iPad上时,我总是会收到内存警告。

在此先感谢。我很抱歉我的英语,因为它不是我的母语。 :)

回答

1

iPad只有256 MB的RAM,这是iPhone 4的一半。

看来你的视图控制器正在加载大量的资源,或者正在其他地方分配大量的内存。您应该能够找到仪器工具分配的内存。

0

我的建议是,你看看你的每个视图控制器的viewDidUnload方法。从iOS 3.0开始,当您的应用程序收到内存警告时,iOS会尝试获取一些内存。

为了更清楚起见,你应该尝试设置所有的IBOutlet在这个方法中为零,这样当调用时,你不需要的UI东西(不必要,因为那时候这些nib文件不会显示给用户)将被清除并将分配的内存返回给操作系统。当它们再次出现时,它们将由viewDidLoad方法重新创建。

示例代码:

- (void)viewDidUnload { 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
相关问题