<分区>
iOS中使用了ARC,当引用计数为0时,会自动释放一个对象。在swift book的例子中,代码将一些var设置为nil,以使引用计数为0。在一个真正的 iOS 应用程序,除非对象非常大,否则我可能不会故意将某些内容设置为 nil 来释放内存。
我的问题是,ARC 中的释放会在应用的生命周期中何时发生?我正在考虑两种情况:
如果我们从一个 viewcontroller 转到下一个 viewcontroller,第一个 viewcontroller 会自动释放吗?假设我们不在下一个 View Controller 中保留副本。
如果 iOS 以某种方式杀死了我们的应用程序,说它需要内存或其他东西,它是否只是清除我们应用程序使用的所有内存?或者它将某些东西设置为 nil 并触发 ARC 来完成工作?如果代码中存在一些强引用循环,这种情况下会不会出现内存泄漏?