我遇到了一个 View Controller 的问题,该 View Controller 被关闭且未被引用但仍在内存中,只是想知道一般情况下当没有人引用它时对象实际上何时在内存中释放?
我用来测试的方法是,我从 Facebook 安装了 PVC 工具,并在 View Controller 出现时用它打印出 View 层次结构,在它被关闭后,我确保没有人引用它并暂停执行,所以我可以从之前的 PVC 工具中po
View Controller 的内存地址,但我仍然可以在那里看到 View Controller 实例。
谢谢!
最佳答案
你似乎对从内存中释放和从内存中清除感到困惑。当类被销毁时,它占用的内存并没有清零,就像你在文件系统中删除一个文件时,磁盘 block 也没有清零。
这只会占用太多时间并且收效甚微。
被释放仅仅意味着类占用的内存现在可以重新使用。
查看类是否被销毁的一种方法是在dealloc
方法中添加一条日志:
- (void)dealloc
{
NSLog(@"I'm being destroyed");
}
关于ios - ObjC : is an object released IMMEDIATELY when no one references it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32601879/