ios - 深入了解保留周期

假设我们有三个对象:祖 parent 、 parent 和 child 。祖 parent 留住 parent , parent 留住 child , child 留住 parent 。祖 parent 释放 parent 。

在这种情况下会发生什么?

最佳答案

除非有其他对 parent 或 child 的引用,否则他们都会成为孤儿。但是父子之间的保留循环阻止了它们被释放并且它们成为浪费的内存。

child 永远不应该保留 parent 。如果有的话,请在子级中使用弱引用来维护对父级的引用。

https://stackoverflow.com/questions/19892245/

相关文章:

ios - 在 iOS 9 中, native Facebook 应用无法通过 Facebook 登

objective-c - performSelectorOnMainThread : and di

iphone - 如何将 nil 添加到 nsmutablearray?

iphone - iPhone 上 SQLite 的最佳 Cocoa/Objective-C 包装器

objective-c - Cocoa 的依赖注入(inject)框架?

ios - AFNetworking 和后台传输

objective-c - Swift:需要类前缀?

ios - Core Text在iOS中计算字母框架

objective-c - 如何在 Swift 中实现这个多行字符串字面量宏?

objective-c - 主队列上的 dispatch_sync 与 dispatch_async