我正在尝试将一张图片 (PNG) 加载到 ImageView。 此 PNG 文件的文件大小为 390.6KB。
将此 PNG 文件解码为位图后,位图大小为 >9MB。 但是位图的宽度和高度分别是 1920 和 1280。
为什么位图的大小>(bitmap.width * bitmap.height)? 9MB 对于我的应用程序来说已经很多了,它会加载许多其他像这样的图像。
当我尝试通过给定样本大小 (2/4) 对该图像进行采样时,图像的宽度和高度会随着位图的大小而变化。
如何在内存大小中缩放此图像,但保留图像的宽度和高度?
最佳答案
PNG 最多可以有 4 个 channel (ARGB),因此您的实际内存消耗将为 width*height*4
,因为每个像素需要 4 个内存空间。
您可以对几乎任何其他图像格式进行类似的计算:width*height*channels
关于android - 位图大小大于宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499352/