1 memory-management objective-c autorelease foundation
有时候我想知道什么时候有东西被自动释放.我在各种对象的dealloc中添加了一个NSLog,但我找不到任何有用的东西.
使用自动释放时什么东西会释放?它是不可预测的,还是有一些额外的线程在运行?谢谢.
当"自动释放池到期"时.
这通常意味着,当堆栈被解开时.
所以想一想 - 你的应用程序是事件驱动的.您可以获得发送给它的事件 - 并通过一系列功能处理它们.当每个函数返回并且事件处理完毕后,将调用autorelease.
这意味着当你自动释放它时,你可以指望一个对象仍然存活,并将它从一个函数返回给它的调用者.在处理任何类型的后续事件时,或者在现有堆栈帧之外调用时,不要指望它存在.
| 归档时间: |
|
| 查看次数: |
784 次 |
| 最近记录: |