3

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

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

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

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

4

1 回答 1

4

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

于 2009-08-28T14:08:26.290 回答