1. 简述IOS主动开释池工作原理? | 主动开释池是NSAutorelease类的一个实例,当向一个对象发送
autorelease消息时,该对象会主动入池,待池销毁时,将会向池中所有对象发送一条release消息,开释对象。
[pool release]、 [pool drain]表示的是池本身不会销毁,而是池子中的临时对象都被发送release,从而将对象销毁
主动开释池是 OC 中的一种内存主动采取机制,它可以将加入 autoreleasePool 中的变量 release 的时机延迟。
简朴来说,就是当创建一个对象,在正常情况下,变量会在超出其作用域的时立刻release。
假如将对象加入到了主动开释池中,这个对象并不会立刻开释,会比及 runloop 休眠,超出 autoreleasepool 作用域{}之后才会被开释。
autoreleasepool 机制流程:
从程序启动到加载完成,主线程对应的 runloop 会处于休眠状态,等待用户交互来唤醒 runloop;
用户的每一次交互都会启动一次 runloop,用于处理用户的所有点击、触摸事件等;
r |
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |