IOS面试题编程机制 1-5

打印 上一主题 下一主题

主题 780|帖子 780|积分 2342

1. 简述IOS主动开释池工作原理?
主动开释池是NSAutorelease类的一个实例,当向一个对象发送
autorelease消息时,该对象会主动入池,待池销毁时,将会向池中所有对象发送一条release消息,开释对象。
[pool release]、 [pool drain]表示的是池本身不会销毁,而是池子中的临时对象都被发送release,从而将对象销毁

主动开释池是 OC 中的一种内存主动采取机制,它可以将加入 autoreleasePool 中的变量 release 的时机延迟。
简朴来说,就是当创建一个对象,在正常情况下,变量会在超出其作用域的时立刻release。
假如将对象加入到了主动开释池中,这个对象并不会立刻开释,会比及 runloop 休眠,超出 autoreleasepool 作用域{}之后才会被开释。

autoreleasepool 机制流程:
从程序启动到加载完成,主线程对应的 runloop 会处于休眠状态,等待用户交互来唤醒 runloop;
用户的每一次交互都会启动一次 runloop,用于处理用户的所有点击、触摸事件等;
r

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

刘俊凯

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表