【发布时间】:2012-09-16 20:59:10
【问题描述】:
当我在将图像保存到 SD 卡之前搜索如何查找图像的大小时,我发现了这个:
bitmap.getByteCount();
但该方法是在 API 12 中添加的,我正在使用 API 10。所以我再次发现了这一点:
getByteCount() 只是一种方便的方法,它完全按照您在 else 块中的操作。换句话说,如果你简单地重写 getSizeInBytes 总是返回 "bitmap.getRowBytes() * bitmap.getHeight()"
这里:
Where the heck is Bitmap getByteCount()?
所以,通过计算 bitmap.getRowBytes() * bitmap.getHeight(),我得到了 120000 (117 KB) 的值。
SD 卡上的图像大小为1.6 KB。
我错过了什么?还是做错了?
谢谢
【问题讨论】:
-
正如下面的评论中所述,我想知道这是否与内存中的(未压缩的)位图大小与磁盘上的(压缩的 PNG/JPG)大小有关。因此,由于我认为这是
LruCache示例,117 KB 可能是更安全的选择。 -
我在下面添加了更全面的答案,您计算正确
标签: android getimagesize