我在不同版本的Android上运行我的应用程序。
在 2.2 中,我的应用使用 16 MB。 在 2.1 和 2.3.3 - 28 MB。
版本之间的内存管理有何不同。
在我的应用程序中,我有足够数量的图片。也许这是线索?
答案 0 :(得分:2)
默认情况下,位图在Ginerbread(2.3)中使用ARGB_8888格式。所以,每像素32位 默认情况下,位图在旧版本中使用RGB_565格式(< 2.3)。所以,每像素16位。 因此,图像将占用2.3的内存量的两倍。
然而,这并不能解释为什么2.1中的内存使用率更高。你为什么不看看你的hprof或做一个“adb shell showmap -v 4546”,其中4546是你的pid?