在没有手动加Autorelease Pool的情况下,Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop迭代中都加入了自动释放池Push和Pop
- Runloop 保证程序不退出一个死循环
- iOS的所有事件都是由Runloop监听的
- 苹果不允许创建Runloop,能能去get
Runloop在开发中哪些地方使用
1.定时器 开发中只有定时器用到了runloop,在开发中苹果封装了大量的响应时间 UIControl,UIView,很多都是我们直接进行使用的
2.socket 开发, 使用runloop能够监听网络端口数据的接收与发送情况
socket 开发, 通常用在只能家居开发 / 游戏机
3."自动释放池"的释放和创建 是与runloop有关的
4.自动释放池的模式
Default
Connection
Modal
Event Tracking
那自动释放池的原理又是什么?
网友评论