2010-02-20 39 views

回答

8

您應該在所有視圖上使用「延遲加載」數據。 例如,如果要在表格視圖中顯示數據列表,則當視圖控制器收到didReceiveMemoryWarning並將數據指針設置爲零時應釋放數據。

大多數Apple示例代碼都強調這種懶惰加載技術。

applicationDidReceiveMemoryWarning是發送到您的AppDelegate類似的消息。您應該釋放您存儲在AppDelegate中的不需要的全局數據。

一個典型的例子是Safari。在Safari中打開2-3個選項卡(在iPhone模擬器上)。讓所有選項卡加載網頁內容。嘗試切換不同的標籤。您應該注意到內容仍然存在,並且沒有被刷新。現在從菜單中關閉「模擬內存警告」。現在,當您切換到其他選項卡時,Safari將再次獲取內容。內部發生的事情是,網址被記住了,但是整個網頁內容都是在didReceiveMemoryWarning方法中發佈的。

你也應該在你的應用中實現類似的機制。