2009-08-28 78 views
3

除了最佳做法,如果我創建一個由我的UIApplicationDelegate類擁有的對象,並且在應用程序運行的整個過程中保留這些對象,那麼在UIApplicationDelegate的dealloc方法中添加[object release]語句是否有任何實際優勢?解除分配UIApplicationDelegate擁有的對象是否有優勢?

唯一會被調用的時間是當用戶關閉應用程序時,我假定該應用程序使用的整個內存空間被釋放。

從最佳實踐的角度來看,當然,在整個應用程序中一致地添加內存管理代碼是有意義的,但是如果它真的很重要,我從執行的角度好奇呢?

注:我從iPhone開發人員的角度提出這個問題。我不確定它是否會與Mac OSX的觀點不同?

回答

4

應用程序委託的-dealloc幾乎肯定不會被調用(如果是的話,你幾乎肯定有一個bug),所以從這個意義上說並不重要。也就是說,在Cocoa開發中,最佳實踐永遠不會放在一邊,並且內存管理的謹慎一致性是避免某些最難找到錯誤的最有效方法。所以一些額外的代碼是非常值得的麻煩。但在這種情況下(並且還有許多其他情況,例如這種情況),在實踐中並不重要。

+0

同意。不要因爲沒關係而在某些地方作弊。 – rpetrich

+0

謝謝,你說的前半部分是我正在尋找的答案。 –

相關問題