NSAutoreleasePool
来源:互联网 发布:淘宝大兴宠物怎么样 编辑:程序博客网 时间:2024/05/17 23:54
NSAutoreleasePool是什么?它实际上是个对象引用计数自动处理器。
首先,NSAutoreleasePool可以同时有多个,它的组织是个栈,总是存在一个栈顶pool,也就是当前pool,每创建一个pool,就往栈里压一个,改变当前pool为新建的pool,然后,每次给pool发送drain消息,就弹出栈顶的pool,改当前pool为栈里的下一个pool。
接下来要注意,对象,并不是自动被加入到当前pool中,而是需要对对象发送autorelease消息,这样,对象就被加到当前pool的管理里了。
当当前pool接受到drain消息时,它就简单的对它所管理的所有对象发送release消息。
到了这里,一定会发现这个所谓的pool有个坑人的特性,即,如果pool中被管理的对象接受到pool发送的那个release消息后,它的引用计数大于0,那么pool虽然消失了,但是那个对象还是存在的!
首先,NSAutoreleasePool可以同时有多个,它的组织是个栈,总是存在一个栈顶pool,也就是当前pool,每创建一个pool,就往栈里压一个,改变当前pool为新建的pool,然后,每次给pool发送drain消息,就弹出栈顶的pool,改当前pool为栈里的下一个pool。
接下来要注意,对象,并不是自动被加入到当前pool中,而是需要对对象发送autorelease消息,这样,对象就被加到当前pool的管理里了。
当当前pool接受到drain消息时,它就简单的对它所管理的所有对象发送release消息。
到了这里,一定会发现这个所谓的pool有个坑人的特性,即,如果pool中被管理的对象接受到pool发送的那个release消息后,它的引用计数大于0,那么pool虽然消失了,但是那个对象还是存在的!
0 0
- NSAutoreleasepool
- NSAutoreleasePool
- NSAutoReleasePool
- NSAutoReleasePool
- NSAutoreleasePool
- NSAutoreleasePool
- NSAutoReleasePool
- NSAutoreleasePool
- NSAutoreleasePool是什么?
- NSAutoreleasePool 随笔
- NSAutoReleasePool 用法
- 转载NSAutoReleasePool
- NSAutoreleasePool错误
- IOS NSAutoreleasePool
- 危险的NSAutoreleasePool
- Objective-C 之NSAutoreleasePool
- NSAutoreleasePool自动释放池
- 关于NSAutoReleasePool的理解
- linux iptables端口映射设置
- linux下svn命令使用大全
- 十三章Basic Data Persistence-----之四(Core Data存储)
- TP 下载文件
- 祖住啄走缀坠滋坐驻兹嘴滓纵卒自棕zntodc
- NSAutoreleasePool
- 一种经典的网络游戏服务器架构
- Java集合框架图
- Log4net的使用
- Pgrouting运用基础
- 2013级C++第1周(春)项目——枚举类型与结构体初步
- 北京雾霾
- 使用eclipse 4.3 经常出现卡死、无响应情况的解决方法
- 不错的linux常用命令