2010-05-17 74 views
5

當我的應用程序終止時,如果沒有使用垃圾收集器(iPhone環境),我是否應該以某種方式釋放共享對象(基於哪個單例)?objective-c單例內存釋放

回答

12

當一個應用程序退出時,它的所有內存都被釋放。所以,只要你在運行時不使用太多的內存,你是否可以釋放對象並不重要。

即使策略更改爲4.0,單個小對象也不會產生太大影響;它將在應用程序終止時與其他應用程序一起發佈。

+2

我敢肯定,我讀的地方,當一個應用程序知道它會關閉,它根本不屑做deallocs。無論如何,除非你依賴dealloc來處理一些外部資源,否則不必釋放單例。如果是這種情況,請重新設計您的課程,以便您可以明確處理所述外部資源。 – JeremyP 2010-05-17 10:01:47

+2

如果您需要在應用程序終止時執行某種清理,您可以讓單例對象偵聽'UIApplicationWillTerminateNotification' – 2010-05-17 11:11:09