我尝试使用以下代码将图像转换为位图:
//Here file is the image file
Bitmap bm = BitmapFactory.decodeFile(file.getAbsolutePath());
现在问题有时我得到了OutOfMemoryError
。我不知道错误何时发生。
我的简单解决方案添加try catch add并避免崩溃。我知道这不是正确的方法。
如何处理OutOfMemoryError
?
答案 0 :(得分:0)
在解码中添加此选项以优化内存:
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inPurgeable = true;
bmOptions.inSampleSize = 2;
Bitmap bmp = BitmapFactory.decodeFile(file.getAbsolutePath(), bmOptions);