【发布时间】:2012-08-02 20:24:37
【问题描述】:
我在我的应用程序中遇到内存不足的问题 经过一番搜索,我发现了这段代码
//decodes image and scales it to reduce memory consumption
private Bitmap decodeFile(File f){
try {
//Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(new FileInputStream(f),null,o);
//The new size we want to scale to
final int REQUIRED_SIZE=70;
//Find the correct scale value. It should be the power of 2.
int scale=1;
while(o.outWidth/scale/2>=REQUIRED_SIZE && o.outHeight/scale/2>=REQUIRED_SIZE)
scale*=2;
//Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize=scale;
return BitmapFactory.decodeStream(new FileInputStream(f), null, o2);
} catch (FileNotFoundException e) {}
return null;
}
但是IDK如何使用它,请帮助? 代码对吗?
【问题讨论】:
-
遇到此错误,您想做什么?只是提出你找到的代码,没有任何关于问题的描述真的没有帮助
-
您能否发布整个异常/logcat 错误消息及其发生的行?
-
大尺寸照片导致的错误,这个代码减小了照片尺寸..但是IDK如何使用它..
标签: android memory bitmap imageview scale