Autorealse pool中的对象的release
2013-06-20 10:47
274 查看
引用计数为0时。
autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Autorelease
pool中,当该pool被释放时,该pool中的所有Object会被调用Release。对于每一个Runloop,系统会隐式创建一个Autorelease
pool,这样所有的releasepool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autoreleasepool会被销毁,这样这个pool里的每个Object(就是autorelease的对象)会被release。那什么是一个Runloop呢?一个UI事件,Timercall,
delegate call,都会是一个新的Runloop。
autorelease实际上只是把对release的调用延迟了,对于每一个Autorelease,系统只是把该Object放入了当前的Autorelease
pool中,当该pool被释放时,该pool中的所有Object会被调用Release。对于每一个Runloop,系统会隐式创建一个Autorelease
pool,这样所有的releasepool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autoreleasepool会被销毁,这样这个pool里的每个Object(就是autorelease的对象)会被release。那什么是一个Runloop呢?一个UI事件,Timercall,
delegate call,都会是一个新的Runloop。
相关文章推荐
- 如果autorelease NSAutoreleasePool对象会发生什么?
- runloop 与autorelase对象、Autorelease Pool 在什么时候释放
- 嵌套的autoreleasePool只有最里层的pool会引用其中的对象
- Objective-C的自动释放池(autoreleasepool)、静态方法快速创建对象
- Objective-C Autorelease Pool 的实现原理
- iOS---NSAutoreleasePool自动释放原理及详解
- Objective-C NSAutoreleasePool
- NSAutoReleaseNoPool(): Object 0x********* of class NSConreteData autoreleased with no pool in place
- ARC开启的情况下是否需要对GCD对象dispatch_release ?
- iPhone/Mac Objective-C内存管理教程和原理剖析(四)系统自动创建新的autorelease pool
- Obect-c AutoReleasePool
- iOS内存管理之NSAutoreleasePool
- autoreleasepool 原理解析
- iPhone/Mac Objective-C内存管理教程和原理剖析(四)系统自动创建新的autorelease pool
- autoreleasepool
- @autoreleasepool在ARC和MRC下的区别
- 关于 NSAutoreleasePool中 release 与 drain 区别
- Autorelease Pool-自动释放池
- NSAutoReleasePool
- 使用Jakarta Commons Pool处理对象池化(一)(zt)