添加和删除UIViewControllers时,我注意到了一种奇怪的行为 我现在不发布任何示例,我有一些视图控制器从xib和其他人手动创建视图加载他们的视图。(我是否必须为IB中创建的每个元素声明Outlets?甚至那些是静态图形?或者deallotion会自动作为分配吗?) 我似乎注意到的是,即使我正在移除视图控制器视图然后释放控制器,仪器中的分配(实时字节)似乎也没有下降。每次调用都会调用。下次我创建了视图控制器的实时字节保持不变。如果它们之前没有被释放但仍然被缓存。事情是我有几个处理强烈的视图?在图形中,但不是所有这些都在同一时间......并且字节加起来。它大约有15Mb的内存(而应用程序从3开始,大部分时间都是它需要的所有内容)。我还检查了一些苹果的例子,我注意到有时相同的行为。这是我缺少的东西? 也许它是我特别错的东西,所以我应该发布一些代码来检查可能出错的地方? 感谢
答案 0 :(得分:1)
首先检查代码是否存在内存泄漏(使用泄漏工具)并在项目中运行“构建和分析” - 静态分析器可能会发现一些问题。
要检查的第二件事是你是否在dealloc方法中释放控制器的出口:当从xib文件加载时,如果没有为它们定义属性或者存在具有'retain'属性的属性,则默认保留出口。因此,如果您不释放它们,我认为必须泄漏(尽管当我遇到类似问题时,仪器没有显示任何泄漏)