Android Java Bitmap.getByteCount()显示的大小超过实际大小

时间:2016-01-14 15:07:53

标签: java android bitmap imageview

我将大小为5.8 KB的图像文件下载到我的Android App的ImageView中。我使用bitmap.compress()方法将图像保存到我的应用程序目录中。因为我想知道我下载的图像的大小,我使用Bitmap.getByteCount()来获取图像的大小。 以下是代码:
但是,对于实际大小仅为5.8 KB的图像,我的大小为201.984 KB。 谁能说我有什么不对? Thaadvance!

2 个答案:

答案 0 :(得分:1)

  

但是我的大小为201.984 KB

Bitmap是解码图像。 getByteCount()返回解码图像的内存大小。

  

表示实际大小仅为5.8 KB的图像

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

答案 1 :(得分:0)

位图和其他格式差异。

示例位图ARGB_8888 每个像素包含alpha,red,green,blue通道。并且比每个更改大小8位。(0

示例:

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