有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android Java位图。getByteCount()显示的大小大于实际大小

我将一个大小为5.8KB的图像文件下载到Android应用程序的ImageView中。我使用位图将图像保存到我的应用程序目录中。compress()方法。因为我想知道我下载的图像的大小,所以我使用了位图。getByteCount()获取图像的大小。 代码如下:
但在这里,我得到了一个实际大小只有5.8KB的图像的大小为201.984KB。 谁能告诉我怎么了? 前进


共 (2) 个答案

  1. # 1 楼答案

    But here I am getting the size as 201.984 KB

    Bitmap是一个解码图像getByteCount()返回解码图像在内存中的大小

    for an image whose actual size is just 5.8 KB

    您认为“实际大小”似乎是磁盘上的压缩大小。这与内存中解码图像的大小不同,也不应该相同

  2. # 2 楼答案

    位图和其他格式不同

    例如位图ARGB_8888 每个像素都包含alpha、红色、绿色和蓝色通道。比每一个改变大小的8位。(0

    示例:

    宽度=50px 高度=50px 格式=ARGB_8888 大小=50 x 50 x 32位(4字节)=2500 x 4=10000字节