我搜索过这个,发现对于小于12的api,通常使用的是bitmap.getrowbytes * bitmap.getheight;
但是,对于图像,我获得以下内容:
mBitmap.getRowBytes() = 320
mBitmap.getHeight() = 100
mBitmap.getWidth() = 80.
因此根据上述公式,我得到 32,000。
但是,当我检查从 adb 读取位图图像的文件时,使用
ls -l
我知道大小是90Kb。
我正在阅读如下图像:
Uri chosenImageUri = data.getData();
if (chosenImageUri != null) {
try {
InputStream photoStream = getContentResolver().openInputStream(chosenImageUri);
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 4;
Bitmap mBitmap = BitmapFactory.decodeStream(photoStream,null, opts);
photoStream.close();
}
}
为什么结果不一样?谢谢你。