2011-08-26 58 views
1

作为测试我推一次又一次弹出相同的观点......我要到下一个屏幕,点击背一遍又一遍,我还可以不断看到现场字节在应用我出来和2个屏幕上显示表视图,现场字节增加和同样数额(execpt第一次)的减少之间的背部增加...push和pop增加现场字节

虽然别的地方。

所以我需要做什么检查,了解是怎么回事... 20分钟出场,一般应用程序崩溃后 - 请注意,在任何时候有没有内存泄漏。

在我push和pop这些第一的观点,第二个屏幕有一个图片,一个文本框。我需要如此特别的东西吗? 我还注意到,我没有默认功能viewWillDisappear和viewDidDisappear ...我需要这些吗?他们是强制性的?加入他们并没有改变什么......所以,我需要把东西尤其是在他们......

任何的帮助深表感谢

干杯, geebee

回答

0

你可以找到在使用仪器的Heapshot分析一段什么变化。

1)简介使用分配模板

2)运行应用程序(导航周围)

3)点击“马克堆”按钮

4)运行应用程序(导航周围)

5)点击“马克堆”按钮

再看看Heapshot分析的结果。

当你的看法被卸载,你应该零时,您IBOutlet S,释放你可以很容易地重建和免费有什么可被视为一个大的分配。

+1

感谢贾斯汀。我发现我没有发布视图控制器,因为我使用类名称而不是实例名称释放......没有崩溃,但这是不断增长的因素。谢谢 – geebee

0

将断点在-dealloc方法你正在推动并弹出的控制器,看看它是否有火灾。如果不是,你会在某处保留对它的引用。这可能会有多种原因。这里有几种可能性:

  1. 前面的视图控制器可能会保留对后继的引用。这是不必要的,应该避免(UINavigationController将视图控制器保留在其堆栈中)。

  2. 你可能被保留,以保留您的视图控制器对象的引用都推出了代码中的保留周期。如果你使用块,并且你不关注下面的内存管理规则,这很容易发生。

如果你正在做的事情正确,你的视图控制器应该从导航控制器中弹出后释放。

+0

感谢卡梅隆。我发现我没有发布视图控制器,因为我使用类名称而不是实例名称释放......没有崩溃,但这是不断增长的因素。感谢 – geebee