2011-04-13 67 views

回答

2

默認情況下,位圖在Ginerbread(2.3)中使用ARGB_8888格式。因此,每像素32位 默認情況下,位圖在舊版本中使用RGB_565格式(< 2.3)。所以,每像素16位。 因此,圖像將佔用2.3倍內存量的兩倍。

但這並不能解釋爲什麼你在2.1中有更高的內存使用量。你爲什麼不看看你的hprof或者做一個「adb shell showmap -v 4546」,其中4546是你的pid?

+0

我知道我可以使用Bitmap.Config來更改位圖的格式。但我使用很多資源作爲Drawable或ID。我怎樣才能控制(或設置)這個格式? – sharl 2011-04-13 15:42:36

+0

我會嘗試使用DrawableBitmap解決我的問題,稍後會發布結果。 – sharl 2011-04-13 15:50:52

+0

它幫助我減少了一些內存使用量,但我正在尋找另一個特定於我的應用程序的選項。 – sharl 2011-04-15 22:39:13

相關問題