我的应用程序文件OOM错误被坠毁,机上开口,其具有2.5MB的大小.png文件。这个文件的分辨率很高,我得到了OOM错误。对PNG具有尺寸为大于2.3MB
该件的这会导致错误的代码是:
long sizeInMB = imageFile.length()/(1024*1024);
if(sizeInMB > 2){
int inSampleSize = (int) (sizeInMB/5);
if(sizeInMB%5 > 0){
inSampleSize++;
}
Options opts = new Options();
opts.inSampleSize=inSampleSize;
bitmap = BitmapFactory.decodeFile(filePath, opts);
}else{
bitmap = BitmapFactory.decodeFile(filePath);
}
线bitmap = BitmapFactory.decodeFile(filePath)
导致错误。
任何帮助将不胜感激,提前
如果'位= BitmapFactory.decodeFile(文件路径)'导致错误的东西似乎出错了,因为其他的if-branch('bitmap = BitmapFactory.decodeFile(filePath,opts);')应该被执行,不是吗? – Taig