前言
趁辞职还未上班的当,对项目中所使用到的技术做下总结。一来,温故知新,二来,希望也能帮到需要的人。废话不多说,请往下看:
作用
- 自动释放对象
- 在自动释放池被销毁或者耗尽的时候,会向池中所有对象发送 release 消息,释放池中对象
- 自动释放池,适用于 ARC & MRC 程序中
怎样释放对象
- autoreleasepool 以一个队列数组的形式实现,主要通过下列三个函数完成
- objc_autoreleasepoolPush
- objc_autoreleasepoolPop
- objc_autorelease - 对 autorelease 分别执行 push,和 pop 操作。销毁对象时执行release操作
- 原理点此处
什么时候创建
- 运行循环检测到事件并启动后,就会创建自动释放池
什么时候释放
- 手动干预的:当前作用域大括号结束时释放
- 自动的:一次完整的运行循环结束之前,会销毁
网友评论