2011-07-21 179 views
0

我一直在使用儀器檢查我的程序中的泄漏和其他內存問題。雖然儀器發現的泄漏非常小而且無關緊要,但是我發現在使用該程序時,物理內存空間不斷下降。iPhone內存管理

我使用內存監視器來確定我的應用程序使用了多少內存和分配來確定這主要發生在哪裏。每次我分配或保留時,我總是確保釋放,並且看到幾乎沒有任何泄漏,我假設我的內存管理很好。

有誰知道我可以做些什麼來解決這個問題或建議一種方法來達到它的底部?

+6

任何泄漏事宜。 「勉強」不削減它,應該沒有。 – MarkPowell

+0

同意@MarkPowell。在測試所有功能的情況下,程序的整個生命週期都不應該出現泄漏。將每個泄漏隔離到一段代碼中,如果必須解決它,沖洗並重復,則用細齒梳通過它。一旦你將所有的泄漏插入,你可以重新評估是否有其他需要解決的問題,但是你必須從泄漏開始。 – Kongress

回答

1

即使你釋放你不需要的對象,那並不重要。你可能會分配太多的東西,並由於某種原因保留它們。你可以嘗試檢查了這一點:

http://macdevelopertips.com/objective-c/objective-c-memory-management.html

http://akosma.com/2009/01/28/10-iphone-memory-management-tips/

我會建議你檢查你保持你alloc和什麼樣的應用程序的生命,看看你能不能讓同樣的事情但沒有使用太多的記憶。

編輯:我必須同意Mark和Kongress的說法,爲了您的應用程序的生命,每個漏洞都是重要的。

+0

所以我設法改善了很多內存(雖然它還不完美)。我發現我遇到的兩個主要問題是沒有釋放具有保留屬性的指針,並且我使用UIImage imageNamed(並且我有數百個圖像)緩存所有圖像。 – Olshansk

+0

如果您需要更多幫助,請讓我知道奧爾山斯克。 – Peres