2011-09-27 79 views
30

我在我的iOS應用程序中收到一些內存警告,所以我正在運行工具來查看分配。我應該看看* All分配*實時字節或總字節?XCode儀器分配:查看實時字節或整體字節?

有人說iOS可以關閉我的應用程序,如果我使用22MB,是從實況或整體字節部分?

enter image description here

+0

「有人說如果我使用22MB,iOS可以關閉我的應用程序」 - 您可以改述嗎? –

+0

對不起,在這篇文章中:http://stackoverflow.com/questions/4167720/memory-used-by-any-iphone-app它提到,如果你的應用程序使用超過22MB的操作系統可能會殺死你的應用程序。 –

+2

有沒有真正的硬性規定 - 至少,沒有發佈,真的。不同的設備有不同的內存運行不同版本的iOS;不能保證在運行5.0的iPad 2上運行4.3的iPad的上限不會超出界限。與往常一樣,確切地確定您的應用需要定位哪些設備和哪些版本的iOS,並使用最受限制的設備充當您的內存礦中的金絲雀。 –

回答

46

直播字節是當前使用情況,是你所感興趣的東西,總字節數包括所有釋放的分配。另一件事是看圖表並尋找高峯。舉個例子,我看到我正在開發的應用程序中有一個大約27MB的高峯,知道我能夠將峯值內存使用量減少到8MB。

隨着時間的推移,隨着您運用您的應用程序,隨着時間的推移,您可能會有大量的內存增長,而這些內存不會泄露,只是不再使用。請參閱Explanation of Live Bytes & Overall Bytes

+0

當使用太多內存時,是否有一個視圖被釋放?當我的活動字節超過10MB時,我的應用程序正在釋放我的視圖。 –

+3

我看到這樣的數字沒有任何問題。如果你看到一個過渡時期的尖峯,你可能會看到可以做什麼。當你得到一個大的自動釋放對象返回給你時,可以在這些實例中播放自動釋放池的一些技巧。最好的方法是在小型內存設備,iPodTouches,iPad1,iPhone 3GS等上進行測試。獲取一堆東西,發送電子郵件到設備,播放netflix等。 – zaph

+0

從Xcode 4.5(即,後ARMv6)角度,iPad 1是新的仍然支持的設備,RAM的最低數量與視圖將要吃掉的存儲量成正比。它和3GS都有256MB的內存,但3GS的像素少於五分之一。因此,它是測試記憶力的最佳新事物。 – Tommy

相關問題