2

以下是真實的嗎?iPhone內存管理:無需清理和釋放應用程序中的保留對象退出?

當應用程序要退出的,這是 沒有必要通過調用所有 保留的對象釋放清理內存 ,因爲iPhone OS將回收內存它 分配給您的應用程序時你 推出它。這比依靠應用程序正確地更快和更安全地 自己清理。你可以通過在應用 代理的 dealloc方法中加入一個NSLog調用 (或調試器斷點)來驗證這一點,並且看到它從未被調用過。

因此,當應用程序是 即將退出時清理事物是無用的。此外, 在 操作系統擦除您的應用程序之前,您的時間非常有限,因此不要浪費 它清潔東西。專注於保存 您的遊戲和任何其他相關 的東西。

Source (cocos2d-iphone.org)

+0

不那麼重要了iOS上,但在Mac或PC上,如果您的應用程序使用大量內存已經被換出到磁盤上的頁面,在退出時嘗試清理可能意味着將所有內容從磁盤複製到內存中,只是爲了將其標記爲不再需要。如果你只是讓應用程序終止,操作系統知道它可以安全地扔掉所有的數據。 – benzado 2012-09-11 22:05:50

回答

4

是。引述the documentation

重要的:當一個應用程序 終止時,對象可能沒有由於處理的 存儲器上 自動清除發送的 的dealloc消息出口-它是更有效簡單地 允許操作系統清理 資源比調用所有的 內存管理方法。這對於如何實現一個 dealloc方法見 影響「資源 管理。」