我正在开发iPhone,objective-c.当我们使用自动释放时,对象实际上何时被释放 - 当主自动释放池被释放时(即应用程序终止?),或者本地函数何时结束?例如,我想做这样的事情:
- (void) test
{
MyObj* p = [[[MyObj alloc] init] autorelease];
...
// is p 'released' here?
}
一旦函数退出,或者当该线程的自动释放池被释放时,'p'就会被释放吗?我认为这是当本地函数退出时,但我只是创建了自己的线程,并需要设置一个自动释放池,这让我第二次想到这实际发生的时间..
谢谢
autoreleases对象在自动释放池的同时释放.因此,对于您的线程,它将在您释放池时释放.在主线程中,如果你不创建自己的,我相信自动释放池每次都会在运行循环中耗尽 - 但我有一段时间没有看过.
| 归档时间: |
|
| 查看次数: |
2079 次 |
| 最近记录: |