Apple 表示,在 Cocoa 中,当应用程序退出时,不一定会调用 -dealloc。这也适用于 iPhone 吗?
最佳答案
是的,确实如此。如果应用程序退出,在某些情况下,dealloc 将不会被调用。例如,如果 applicationWillTerminate 中的任何内容花费太长时间或引发未捕获的异常,则应用程序将退出而不调用 dealloc。
可能它从不在退出时调用dealloc,因为操作系统无论如何都会进行内存清理。最简单、最快的解决方案是在主视图 Controller 的 dealloc 上放置一个断点,看看它是否在应用程序退出时被调用。
我想我记得当我尝试过一次时它没有被调用,但我不确定,这就是为什么你应该自己尝试一下。
关于iphone - 应用程序退出时是否会调用 -dealloc 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793335/