除了最佳实践之外,如果我创建一个由我的UIApplicationDelegate类拥有的对象,并且在应用程序运行的整个时间内保持不变,那么在UIApplicationDelegate的dealloc方法中添加[object release]语句是否有任何真正的优势?
唯一可以调用的时间是用户关闭应用程序时,我假设该应用程序使用的整个内存空间随后被释放。
从最佳实践的角度来看,确定,在整个应用程序中一致地添加内存管理代码是有意义的,但是如果它真的很重要,我会从执行角度感到好奇吗?
注意:我是从iPhone开发人员的角度问这个问题。我不确定它是否会与Mac OSX的观点有所不同?
答案 0 :(得分:4)
app委托的-dealloc
几乎肯定不会被调用(如果是的话,你几乎肯定会有一个bug),所以在这个意义上并不重要。也就是说,在Cocoa开发中,最好的做法永远不会放在一边,并且内存管理的谨慎一致性是避免一些最难发现错误的最有效方法。因此,一些额外的代码是非常值得的。但在这种情况下(还有很多其他情况,比如这种情况),在实践中无关紧要。