我正在看一个名为“修复内存问题”的WWDC 2013视频。
当演示者介绍保留、释放和保留循环时。他简要地提到,太多的发布会导致崩溃。我不明白。在这种情况下,太多的发布意味着什么?
在我的理解中,1个引用计数意味着对象在ARC中+1,有许多东西相互引用,它可能存在一些其他代码没有使用的引用。因此会导致泄漏。但是为什么太多的发布会导致崩溃呢?0是一个对象能达到的最小计数数吗?如果是这样,为什么会导致崩溃?

发布于 2020-05-09 05:51:25
您所展示的幻灯片指的是在自动引用计数(ARC)之前必须使用的手动过程。
在没有ARC的情况下,程序员负责调用retain和release来管理对象的引用计数。
引用计数为正,当对象仍然需要时为非零,当不再需要时为0。
如果您在引用计数已经为0时调用了release,那么您的程序就会终止,因为它表明您的代码中有一个错误。
由于很难在复杂的执行流程中跟踪不再需要的对象,因此如果不使用ARC,则频繁释放(导致泄漏和崩溃)是很常见的
https://stackoverflow.com/questions/61688591
复制相似问题