android 获取Bitmap位图所占用的内存大小

时间:2023-03-09 18:54:02
android 获取Bitmap位图所占用的内存大小

今天在看Universal-Image-Loader源码的时候,在对图片的超过用户在所设的阈值的时候,系统会调用GC将LinkHashMap比较靠底层的图片引用去掉,这里涉及到一个技术单个图片的文图大小的方法:

private int sizeOf(String key, Bitmap value) {
    return value.getRowBytes() * value.getHeight();
}

1、getRowBytes:Since API Level 1,用于计算位图每一行所占用的内存字节数。

2、getByteCount:Since API Level 12,用于计算位图所占用的内存字节数。

经实测发现:位图大小getByteCount() = getRowBytes() * getHeight(),也就是说位图所占用的内存空间数等于位图的每一行所占用的空间数乘以位图的行数。