28.Swift Automatic Reference Counting
没想到这篇主题内容也是这么丰富。
Swift 中使用一个叫做自动引用计数的机制来决定什么时候销毁一个对象释放资源。简称 ARC。
ARC 只对强引用计数。预期是你不需要操心任何内存释放的问题,但实际上会有一种情况导致 ARC 不能有效的释放内存。强引用循环。
出于 ARC 的原理,只有强引用计数归零才能触发 ARC 对对象实例的释放操作。但是如果有两个实例相互进行强引用,那么就会陷入一个强引用的死循环。两者相互保持对方还活着,那么两个实例就永远不会被销毁,这会造成内存泄露或溢出。