2011-08-12 118 views
5

假設我有一個根控制器MyViewController,它帶有一個名爲var1的實​​例變量。我給var1賦值,但是我沒有用dealloc方法釋放它。關於dealloc方法的一些問題

我的問題是應用程序退出後會發生什麼?

回答

5

從dealloc的documentation ...

重要提示:請注意,當一個應用程序終止時,對象可能 無法發送,因爲進程的內存中的dealloc消息 上自動清除出口更高效的根本允許操作系統清理資源,而不是調用所有內存管理方法。由於這個原因以及其他原因,您不應該在dealloc中管理稀缺資源 - 有關更多詳細信息,請參閱 「內存管理編程指南」中的「對象所有權和處置」。

+0

+1僅供參考。 –

+0

所以,我可以說,如果一個類的實例總是存在於應用程序的生命週期中,那麼可以不釋放dealloc方法中的類的實例變量嗎?因爲無論如何,操作系統都會爲我們做到這一點。 –

4

當應用程序退出時,內存將被回收。但是,請記住,您的應用程序不會在最新版本的iOS中退出,除非用戶終止它,或者操作系統終止它以使用太多的內存。