2012-01-28 63 views
12

我正在爲iOS開發並使用IPhone和IPad檢查我的應用程序。iOS - 我收到內存警告,但不知道爲什麼

我收到很多內存警告(didReceiveMemoryWarning被調用),但不知道爲什麼。 我的應用程序在峯值點使用〜35MB,當最低點時使用4-5 MB。

我試圖用'instruments'找到泄漏,但找不到任何關鍵問題。

有沒有一種很好的方法來找出系統發送內存警告的原因?

+0

泄漏儀器是最好的工具。你是否在模擬器和設備上運行泄漏? – smparkes 2012-01-28 16:09:12

回答

24

內存警告預計在iOS應用程序。它不一定是因爲你的應用程序。即使應用程序被暫停,其他應用程序仍在內存中。操作系統將通過發送內存警告和必要時殺死應用程序來進行內存管理。只要你使用合理數量的內存(幾乎沒有內存泄漏)並正確處理didReceiveMemoryWarning,你就會好起來的。另外,當您的應用程序處於暫停模式時,如果您的應用程序使用的內存空間很小,則您的應用程序將更有可能在殺死進程後繼續存在。隨着更大內存佔用的應用程序將首先被終止。

+0

當我在iPhone 5上使用數十個其他活動應用程序調試我的應用程序時,我收到了「收到內存警告」。在我一個接一個地停下來之後,再次嘗試,那個警告信息消失了。 – Donald 2016-09-07 04:20:53

10

我還發現「產品 - >分析」(Shift + Command + B)可以幫助您在開始使用泄漏之前解決一些代碼問題。隨着ARC的引入,這變得不太有用。

相關問題