<wbr></wbr>
对象是引用计数为0时被release的.
autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Autorelease pool中,当该pool被释放时,该pool中的所有Object会被调用Release。对于每一个Runloop, 系统会隐式创建一个Autorelease pool,这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autorelease pool会被销毁,这样这个pool里的每个Object(就是autorelease的对象)会被release。那什么是一个Runloop呢? 一个UI事件,Timer call, delegate call, 都会是一个新的Runloop。
本文深入解析Autorelease机制:对象在引用计数为0时被release;Autorelease将调用release延迟,通过Autorelease pool管理;Runloop结束时,当前pool销毁,其中对象被release。
1万+

被折叠的 条评论
为什么被折叠?



