2

我正在测试我的 iPhone 应用程序的内存。xcode 4.2.1,ios 5.0+,使用 ARC

我有两个视图控制器。第一个有一个 UIButton 网格,第二个视图控制器有关于用户触摸的按钮的详细信息。我正在使用推送segue。

我正在使用标记堆工具来测量堆增长。我触摸一个按钮,然后单击返回,然后单击“标记堆”,我这样做了几次。我的每个堆的标记堆增长在 1-2 mb 之间。

我预计堆增长为零。在更详细的描述中,我看到堆增长是由于非对象。我使用了泄漏工具,它没有显示任何泄漏的内存。

堆增长的原因可能是什么?我如何解决它?

弹出一个 UIViewController 是什么意思?当我单击导航栏中的后退按钮时,它是否会完全删除 UIViewController 并从内存中释放 UIViewController 和子视图?还是我需要手动做一些事情?

谢谢!我很困惑...

4

1 回答 1

0

确保每次单击按钮时都没有创建下一页类的对象。使用 if(!objVC) 之类的检查然后做一些事情..

这将使您的类只分配一次,并且您必须在 viewDIdUnload 的 viewWillDisappear 的下一页上管理对象的数据。

于 2012-08-01T08:54:42.793 回答