布局中的内存分配

4
在我的项目中,我有一个简单的活动,由单个XML布局组成(通过setContentView启用)。该项目还有其他活动。
该布局基本上由两个.jpg图像组成。第一个大小为25kB,尺寸为400x153像素。第二个大小为4kB,尺寸为150x50像素。
尽管上下文非常简单,但DDMS告诉我,我的程序分配了13MB的内存空间,这在我只加载了两个小图像的情况下是巨大的,并且一些设备每个程序的最大堆大小为16MB。
这个布局的堆大小这么大是正常的吗?
编辑:HProf Dump:
问题嫌疑人1: 由“”加载的类“android.content.res.Resources”占用9,429,232(70.39%)字节。该内存在由“”加载的“java.lang.Object []”实例中累积。
问题嫌疑人2: 由“”加载的3个“android.graphics.Bitmap”实例占用2,147,960(16.03%)字节。
Biggest instances:
•android.graphics.Bitmap @ 0x41407b98 - 1,048,648 (7.83%) bytes. 
•android.graphics.Bitmap @ 0x4169e6a0 - 979,256 (7.31%) bytes. 

我其实无法解释这个问题,但看起来我的其他资源会在之前被加载了吗?(在我进入它们各自的活动之前?)

1个回答

0
如果你说这就是你的程序所要做的一切,那么这很正常。位图确实占用了大量内存。尝试优化你的图片,这肯定会帮助你减少应用程序的内存占用。在创建背景时考虑使用9-patch图像。

看起来这确实是正常的...我在Eclipse中创建了一个新项目,它也占用了相同的内存(在空白活动中)。谢谢! - Márcio Paiva

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接