在我的项目中,我有一个由单个 XML 布局(由 setContentView 启用)组成的简单活动。该项目还有其他活动。
布局基本上由两个 .jpg 图像组成。第一个大小为 25kB,大小为 400x153 像素。第二个有 4kB 并且是 150x50 像素。
尽管有这个非常简单的上下文,DDMS 告诉我我有 13MB 分配给我的程序,我认为这是巨大的,因为我只加载了两个小图像,并且某些设备的每个程序的最大堆大小为 16MB。
在这种布局中堆这么大是正常的吗?
编辑:HProf转储:
问题嫌疑人1:“”加载的类“android.content.res.Resources”占用9429232(70.39%)字节。内存在“”加载的“java.lang.Object[]”的一个实例中累积。
问题嫌疑人2:“android.graphics.Bitmap”的3个实例,由“”加载,占用2147960(16.03%)字节。
Biggest instances:
•android.graphics.Bitmap @ 0x41407b98 - 1,048,648 (7.83%) bytes.
•android.graphics.Bitmap @ 0x4169e6a0 - 979,256 (7.31%) bytes.
我真的无法解释这一点。但似乎我的其他资源正在预先加载?(在我进入他们各自的活动之前?)