iphone - 应用程序退出时是否会调用 -dealloc 方法?

标签 iphone cocoa-touch memory-management uikit

Apple 表示,在 Cocoa 中,当应用程序退出时,不一定会调用 -dealloc。这也适用于 iPhone 吗?

最佳答案

是的,确实如此。如果应用程序退出,在某些情况下,dealloc 将不会被调用。例如,如果 applicationWillTerminate 中的任何内容花费太长时间或引发未捕获的异常,则应用程序将退出而不调用 dealloc。

可能它从不在退出时调用dealloc,因为操作系统无论如何都会进行内存清理。最简单、最快的解决方案是在主视图 Controller 的 dealloc 上放置一个断点,看看它是否在应用程序退出时被调用。

我想我记得当我尝试过一次时它没有被调用,但我不确定,这就是为什么你应该自己尝试一下。

关于iphone - 应用程序退出时是否会调用 -dealloc 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793335/

相关文章:

ios - 此行的正确内存管理? (Cocos2D)

c++ - void* 指针问题

iphone - 在后台调用函数和在线程中调用函数的区别

iphone - 从 UITableViewCell 转到另一个 ViewController

iphone - iPad View 没有覆盖全屏?

ios - Xcode - 如何修复 'NSUnknownKeyException' ,原因 : … this class is not key value coding-compliant for the key X"error?

iphone - XCode 中的 header 搜索路径 - 是否可以设置宏或变量,以便它们与 SDK 版本相关?

java - 使用 ios 4.3 和 SOAP 的应用程序

objective-c - CoreLocation kCLErrorDomain 错误 5

MySQL 服务器最大化内存,Galera 集群