17

我的 SD 卡上有一个 2448x3264 的图像,它消耗 1,667,072 字节,但是当我将它作为位图加载并使用它计算它的大小时,getRowBytes()*getHeight()我最终得到 15,980,544 字节。

为什么会发生这种情况,如何计算文件的实际大小?

4

1 回答 1

41

这是因为图像在磁盘上时会被压缩(以 JPG、PNG 或类似格式存储)。一旦将图像加载到内存中,它就不再被压缩并占用所有像素所需的内存(对于 RGBA_8888,通常为宽度 * 高度 * 4,对于 RGB_565,通常为宽度 * 高度 * 2)。

于 2012-07-12T21:41:24.090 回答