我的应用程序在打开大小为 2.5MB 的 .png 文件时崩溃。该文件具有高分辨率。我收到 OOM 错误。
导致错误的代码是:
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)
导致错误。
任何帮助将不胜感激,
提前致谢
最佳答案
因为在您的情况下,2MB 位图可能需要大约 10MB 内存
引用this关于如何加载大位图
关于java - 大小大于 2.3MB 的 png 文件出现 OOM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14766176/