2014-01-15 58 views
0

我的歉意,這可能是一個愚蠢的問題。我在android上出現了內存不足錯誤,所以我看了幾個小時的關於DDMS的教程。我對它仍然很陌生,但這種行爲很奇怪。Android DDMS高初始保留堆

我在我的淺堆堆30mb左右。所以,我開始檢查所有的對象,沒有看起來太懷疑(只是一些大的位圖等),但是,有一些非常巨大的對象似乎不屬於我的應用程序。所以,我在一個空應用程序上測試了ddms。當我在一個基本上空的應用程序上創建轉儲時,它仍然說有12 MB的東西。在所有的教程中,沒有人有類似的東西。我假設,因爲我們必須點擊應用程序進行轉儲,它正在收集特定於應用程序的對象。這個假設是錯誤的嗎?有什麼方法可以解決它?它是否正在拾取與我的應用程序無關的其他對象?

正如我所說的這個應用程序本質上是儘可能裸露,沒有圖像資源,什麼都沒有。我剛剛製作了一個android應用程序並解僱了它。

這裏的直方圖 enter image description here

回答

1

如果你的設備是上述ICS(Android 4.0版本),額外的內存分配用於硬件加速,以提高圖形性能。
在android 3.x中,可以通過在AndroidManifest.xml中設置一個標誌來關閉硬件加速。但是在android 4.x中,如果您的設備支持它,則不會有這樣的標誌,並且硬件加速始終是true

這裏是源代碼。
https://plus.google.com/105051985738280261832/posts/2FXDCz8x93s