我使用imageloader类作为此示例的参数: - http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/
> String path = data.get(position).get("product_image");
ContextWrapper cw = new ContextWrapper(activity);
File directory = cw.getDir("files", Context.MODE_PRIVATE);
File mypath=new File(directory,"Restaurant/"+path);
imageLoader.DisplayImage(mypath.toString(), producticon);
如果在listview中使用此代码及其show image但是java.lang.OutOfMemoryError正在获取。 请帮帮我
String path = data.get(position).get("product_image");
ContextWrapper cw = new ContextWrapper(activity);
//path to /data/data/yourapp/app_data/dirName
File directory = cw.getDir("files", Context.MODE_PRIVATE);
File mypath=new File(directory,"Restaurant/"+path);
Bitmap b;
try {
b = BitmapFactory.decodeStream(new FileInputStream(mypath));
// b.compress(format, quality, stream)
producticon.setImageBitmap(b);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:1)
由于图片的大小,您获得java.lang.OutOfMemoryError
例外。让我们快速调整大小:
而不是:
producticon.setImageBitmap(b);
你应该:
producticon.setImageBitmap(Bitmap.createScaledBitmap(b, 120, 120, false));
其中120将分别是所需的新高度和宽度。
上找到有关处理位图的更多信息