2013-08-02 51 views
2

我在Eclipse上使用Android並在測試代碼的同時,我似乎注意到堆提高到44MB。我正在尋找我保持活力的變量,而且似乎無法在幾天內找到它。雖然看在堆(DDMS - >堆)我得到以下幾點:Android如何分析內存

enter image description here


我試着點擊「轉儲文件HPROF」爲showed in here,但我不明白的保存文件對話框,我無法分析它。 所以我試圖重寫它,直到我得到一臺新電腦..


我在Windows上運行Android蝕7
編輯: 的問題是ImageViews我保持;我有兩張圖片,我通過代碼以0.5MB的圖片設置資源。我的問題是:是否有可能添加ImageViews而不增加堆?以及0.5MB的2張圖像如何導致40MB堆增長?

+1

對我來說背景圖片花了很多內存,第一步試着去掉,你應該是10米以下沒有口哨和鐘聲 – 2013-08-02 05:34:47

+0

此線程http://stackoverflow.com/q/3112671/1321873應該能夠引導你正確的方向 – Rajesh

回答

1

要回答您編輯的問題,您的「0.5MB」圖像可能會被壓縮。 Jpeg或PNG,最有可能的。

一旦它們被解碼,這並不重要。那麼重要的是圖像的尺寸和正在使用的位圖格式。 Android中的典型位圖是ARGB_8888,每個像素爲32位(4字節)。

這意味着對於每個像素(w * h),它需要4個字節的空間。看最大尺寸(〜15MB),它看起來像你的圖像可能是大約1600x1200,或約200萬像素。

這就是1600 * 1200 * 4 = 15360000,或每個圖像~15MB。

對於大多數情況,您不需要在移動設備上顯示較大的圖像。我不知道你的應用程序,但如果你不需要需要那麼大,你應該看看Loading Large Bitmaps Efficiently.