为dealloc保证创建一个在同一线程上被称为NSObject实例?例如,如果我调用[[MyFluffyBunny alloc] init]主线程,dealloc保证也可以在主线程上调用,或者可以在任何线程上调用一次MyFluffyBunny不再保留?
我看到我的应用程序中的零星崩溃表明它无法保证,但我一直无法找到任何确认它的文档.
Ken*_*ses 12
该对象在任何线程释放最后一个强引用时都会被释放.也就是说,无论什么线程调用-release最后时间.实际上,在该-release调用期间,对象被释放.
的用于文档的-release方法的NSObject协议说:
减少接收者的参考计数....
dealloc当参考计数达到0时,接收器会发送一条消息.
"高级内存管理编程指南:实用内存管理"一文中包含了不用于-dealloc管理稀缺资源的原因:
在错误的线程上执行清理逻辑.
如果一个对象在意外的时间自动释放,它将在它碰巧进入的任何线程的自动释放池块中被释放.对于只能从一个线程触及的资源来说,这很容易致命.
| 归档时间: |
|
| 查看次数: |
1419 次 |
| 最近记录: |