换了新手机,照片4800万像素,BitmapFactory.decodeFile 溢出崩溃,看看别人是怎么解决的。
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true; //开启只读取尺寸
Bitmap bitmap = BitmapFactory.decodeFile(path, options);
DisplayMetrics DM = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(DM);
int size = 1;
if (options.outWidth > DM.widthPixels) {
size = options.outWidth / DM.widthPixels; //计算比例
}
options.inSampleSize = size; //设置缩放值
options.inJustDecodeBounds = false; //关闭只读取尺寸
bitmap = BitmapFactory.decodeFile(path, options);
完美解决!
本文介绍了一种解决4800万像素图片在Android设备上使用BitmapFactory.decodeFile时发生内存溢出的方法。通过调整图片尺寸和使用BitmapFactory.Options参数,可以有效避免内存溢出,实现高像素图片的正常加载。
2376

被折叠的 条评论
为什么被折叠?



