1

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

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

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

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

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

4

1 回答 1

5

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

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

于 2013-05-11T16:36:42.817 回答