Apple说,当应用程序退出时,Cocoa -dealloc中不会被调用。这也适用于iPhone吗?
答案 0 :(得分:3)
我已经使用applicationWillTerminate调用来执行发布(或[自我发布]),然后应该允许dealloc尝试很好地清理
答案 1 :(得分:3)
是的,确实如此。如果应用程序正在退出,在某些情况下,将不会调用dealloc。例如,如果applicationWillTerminate中的任何内容花费太长时间或抛出未捕获的异常,则应用程序将退出而不调用dealloc。
它可能是永远不会在退出时调用dealloc,因为OS无论如何都要进行内存清理。找出最简单,最快捷的解决方案是在主视图控制器的dealloc上放置一个断点,看看是否在应用程序退出时调用它。
我想我记得当我尝试过这次时没有打电话,但我不确定,这就是为什么你应该亲自尝试一下。