【问题标题】:iPhone Memory Management: No Need to Clean Up and Release Retained Objects on App Quit?iPhone 内存管理:App 退出时无需清理和释放保留的对象?
【发布时间】:2010-12-06 23:26:22
【问题描述】:

以下是真的吗?

当应用程序即将退出时, 不需要清理内存 通过调用你所有的释放 保留对象,因为 iPhone 操作系统将回收它的内存 当您为您的应用分配 启动它。这更快更安全 而不是依靠应用程序来正确 自己清理干净。你可以 通过调用 NSLog 来验证这一点 (或调试器断点)在 应用程序的 dealloc 方法 委托并看到它从未被调用。

所以,在应用程序运行时清理内容 想退出也没用。而且, 你有非常有限的时间之前 操作系统会清除您的应用程序,所以不要浪费 它关于清洁的东西。专注于储蓄 您的游戏和任何其他相关 东西。

Source (cocos2d-iphone.org)

【问题讨论】:

  • 在 iOS 上无关紧要,但在 Mac 或 PC 上,如果您的应用程序正在使用一堆已换出到磁盘的内存页面,那么在您退出时尝试清理可能意味着将所有内容从磁盘复制回内存,只是为了将其标记为不再需要。如果您只是让应用程序终止,操作系统知道它可以安全地丢弃所有数据。

标签: iphone objective-c memory-management cocos2d-iphone dealloc


【解决方案1】:

是的。引用the documentation:

重要:当一个应用程序 终止,对象可能不会被发送 自进程的 dealloc 消息 内存会自动清除 退出——更有效的是简单地 允许操作系统清理 资源而不是调用所有 内存管理方法。这有 对您如何实施 dealloc 方法——参见“资源 管理。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多