iPhone内存管理(基础)

标签 iphone memory-management

关于 iPhone 内存管理的非常基本的问题:

假设我有一个 viewController,其中有几个 subview 也由 viewController 控制。当我删除顶部 viewController 并释放实例时 - 它的子级会发生什么?其中包含的所有对象是否也被释放?

当我在仪器中运行我的应用程序时,我没有遇到任何内存泄漏。但是“所有分配”的值(value)会不断上升吗? (我假设这个值是我的应用程序消耗的总体内存?)

最佳答案

View Controller 在 dealloc 上释放其 View 。 View 在 dealloc 上释放其 subview 。发布不是解除分配。

什么保留了其他 View Controller ?如果您的 View Controller 是,那么您的 View Controller 应该释放它们。通常这将是一个属性,因此您可以执行 self.subViewController = nil。

此外,如果您有任何 IBOutlet(我真的希望您使用这些属性),您还必须在 dealloc 中将它们设置为 nil。

释放你所拥有的。

关于iPhone内存管理(基础),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518118/

相关文章:

ios - 在 Xcode 7 代码覆盖率中排除文件/代码行

java - 在 Java 中创建和解析非常大的数组

c# - 查找内存泄漏

ios - 如何在 swift 中为 CAReplicatorLayer 的更新位置设置动画?

iphone - 如何以编程方式绘制边框并在 UIImageview 周围的单词后将其删除?

iphone - 搜索API上的iOS Twitter实体

c++ - 增长 managed_shared_memory 段后出现段错误

ios - 使用 Iphone 应用程序重新加载表格 View

c++ - 我在哪里可以阅读更多有关 C++ 中的内存结构的信息?

java - 追加到数组与写入文件