# 29、理解引用计数

​ 对象回收后，系统会降其占用的内存标记为“可重用”（reuse）。

​ 如果按“引用数”回溯，那么最终会发现一个“根对象”（root object）。在iOS应用程序中，则是`UIApplication`对象，是程序启动时创建的单例。

​ 调用`autorelease`会在稍后递减计数，通常是在下一次“事件循环”（event loop）时递减，不过可能会执行得更早一些。此方法可保证对象在跨越“方法调用边界"（method call boundary）后一定存活。（*实际上，释放操作会在清空最外层的自动释放池时执行，除非你有自己的自动释放池，否则这个时机指的是当前线程的下一次事件循环。*）

要点：

* 引用计数机制通过可以递增递减的计数器来管理内存。对象创建好之后，其保留计数至少为1。若保留计数为正，则对象继续存活。当保留计数降为0时，对象就被销毁了。
* 在对象生命期中，其余对象通过引用来保留或释放此对象。保留与释放操作分别会递增及递减保留计数
