分配的堆内存和不同大小的drawable

时间:2011-07-04 21:31:01

标签: android

我在我的应用上跟踪分配的堆内存,最大值为15.5MB。其中大部分来自位图。我有一个名为“drawable”的文件夹,我将所有位图放入其中,因此无论屏幕大小如何,所有设备都将加载相同的位图。测试设备是Desire HD。我的问题是:当一个小屏幕设备运行我的应用程序时,它会分配相同数量的内存吗? (请记住,我的小屏幕设备没有较小的位图)。

我怀疑的原因是无论它被重新调整大小,它都来自同一个资源。例如,我发现绘制400 * 800位图并绘制300 * 600位图会消耗不同的内存量,即使我将它们拉伸以填满屏幕。

如果我对小屏幕设备使用较小的位图,我认为它将分配更少的内存。只是我有300个位图,我正在努力避免不得不复制并缩小300位图的大小。

我遇到的另一个问题:我在某处读到最大堆最小值为16MB。这仍然是真的吗?

1 个答案:

答案 0 :(得分:0)

您的位图将根据inDensityinTargetDensity自动调整大小。 这当然比具有相同位图的多个版本慢,但在您的情况下,它可能是最佳选择。