Android8.0 ZXING识别相册中二维码错误问题

其实就是BITMAP对象过大了,在通过URI获取BITMAP对象的时候用getSmallBitmap()这样的方式就好,缩小对象的体积,不然就是OOM,如果你在写的时候还加了try….那么你可能基本看不到报错的信息。

附上方法:

public static Bitmap getSmallerBitmap(Bitmap bitmap){
int size = bitmap.getWidth()*bitmap.getHeight() / 160000;
if (size <= 1) return bitmap; // 如果小于
else {
Matrix matrix = new Matrix();
matrix.postScale((float) (1 / Math.sqrt(size)), (float) (1 / Math.sqrt(size)));
Bitmap resizeBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
return resizeBitmap;
}
}

猜你喜欢

转载自blog.csdn.net/taijibamen/article/details/82182956