【问题标题】:Best memory management routine最佳内存管理例程
【发布时间】:2011-06-06 16:37:27
【问题描述】:

我正在编写一个 iPhone 应用程序,现在是时候开始清理内存了。

一个比我更好的程序员告诉我,每次执行分配时,我都应该在模块末尾释放内存。

这句话是不是每次有一个alloc,就应该在.m文件的dealloc部分删除??

谢谢 托尼

【问题讨论】:

    标签: iphone xcode dealloc


    【解决方案1】:

    不要只听你的同事告诉你什么 - 阅读Memory Management Guide

    内存管理不是您最终要做的事情,因为“清理”它是您在编程时需要考虑的事情。不要仅仅依靠别人告诉你的经验法则。阅读文档,理解它们,然后使用经验法则帮助您记住它们是什么。

    例如 - 当你在一个带有alloc的方法中创建一个局部变量时,你不能等到dealloc到release它,因为到那时那个变量已经超出了范围,你没有调用release on' 的对象,您有泄漏。所以 经验法则 没有任何好处。

    【讨论】:

      【解决方案2】:

      您可能需要阅读 Apple 开发者网站上的内存管理指南。基本上,您需要为您使用的每个new, copy, or alloc 提供一个releaseautorelease。但理想情况下,发布应该在调用 new, copy, or alloc 的函数中,而不是在您的 dealloc 函数中。 dealloc 应该只用于释放保留在头文件的@property 部分中的对象。

      【讨论】:

        猜你喜欢
        • 2013-07-10
        • 2011-05-04
        • 2011-06-25
        • 2012-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-26
        • 1970-01-01
        相关资源
        最近更新 更多