位图大小大于宽度和高度

时间:2013-05-11 16:28:32

标签: android memory bitmap

我正在尝试加载到ImageView的图像(PNG)。 此PNG文件的文件大小为390.6KB。

将此PNG文件解码为位图后,位图大小为> 9MB。 但位图的宽度和高度分别为1920和1280。

为什么位图的大小> (bitmap.width * bitmap.height)? 我的应用程序有9MB很多,它会加载许多其他类似的图像。

当我尝试通过给出样本大小(2/4)来对该图像进行采样时,图像的宽度和高度会随着位图的大小而变化。

如何在内存大小中缩放此图像,但保留图像的宽度和高度?

1 个答案:

答案 0 :(得分:4)

PNG最多可以有4个通道(ARGB),因此实际内存消耗为width*height*4,因为每个像素在内存中需要4个空格。

您可以对几乎任何其他图像格式进行类似的计算:width*height*channels