Android Java位图。getByteCount()显示的大小大于实际大小
我将一个大小为5.8KB的图像文件下载到Android应用程序的ImageView中。我使用位图将图像保存到我的应用程序目录中。compress()方法。因为我想知道我下载的图像的大小,所以我使用了位图。getByteCount()获取图像的大小。
代码如下:
但在这里,我得到了一个实际大小只有5.8KB的图像的大小为201.984KB。
谁能告诉我怎么了?
前进
你可以在下面搜索框中键入要查询的问题!
我将一个大小为5.8KB的图像文件下载到Android应用程序的ImageView中。我使用位图将图像保存到我的应用程序目录中。compress()方法。因为我想知道我下载的图像的大小,所以我使用了位图。getByteCount()获取图像的大小。
代码如下:
但在这里,我得到了一个实际大小只有5.8KB的图像的大小为201.984KB。
谁能告诉我怎么了?
前进
# 1 楼答案
Bitmap
是一个解码图像getByteCount()
返回解码图像在内存中的大小您认为“实际大小”似乎是磁盘上的压缩大小。这与内存中解码图像的大小不同,也不应该相同
# 2 楼答案
位图和其他格式不同
例如位图ARGB_8888 每个像素都包含alpha、红色、绿色和蓝色通道。比每一个改变大小的8位。(0
示例:
宽度=50px 高度=50px 格式=ARGB_8888 大小=50 x 50 x 32位(4字节)=2500 x 4=10000字节