【问题标题】:Is there any advantage to deallocating objects owned by the UIApplicationDelegate?释放 UIApplicationDelegate 拥有的对象有什么好处吗?
【发布时间】:2010-11-23 17:57:16
【问题描述】:

抛开最佳实践不谈,如果我创建了一个属于我的 UIApplicationDelegate 类的对象,并且在应用程序运行的整个过程中都保持不变,那么在 UIApplicationDelegate 的 dealloc 方法中添加 [object release] 语句是否有任何真正的优势?

唯一会被调用的时间是用户关闭应用程序时,我假设该应用程序使用的整个内存空间随后被释放。

从最佳实践的角度来看,当然,在整个应用程序中一致地添加内存管理代码是有意义的,但从执行的角度来看,我很好奇它是否真的重要?

注意:我是从 iPhone 开发者的角度来问这个问题的。我不确定从 Mac OSX 的角度来看是否会有所不同?

【问题讨论】:

    标签: iphone memory-management dealloc uiapplicationdelegate


    【解决方案1】:

    应用程序委托的-dealloc 几乎肯定不会被调用(如果是,你几乎肯定有一个错误),所以在这个意义上它并不重要。也就是说,在 Cocoa 开发中,最佳实践永远不会被搁置,并且在内存管理中谨慎的一致性是避免一些最难发现的错误的唯一最有效的方法。所以一点额外的代码是值得的。但在这种情况下(还有很多其他类似的情况),在实践中并不重要。

    【讨论】:

    • 同意。不要因为无所谓而在某些地方作弊。
    • 谢谢,你说的前半部分就是我要找的答案。
    猜你喜欢
    • 2010-09-20
    • 2020-04-24
    • 2012-10-02
    • 2012-10-06
    • 1970-01-01
    • 2012-10-09
    • 2020-08-16
    • 1970-01-01
    相关资源
    最近更新 更多