Android ListView:内存不足异常
这个问题在这里已经有了答案:
使用此功能从SD卡路径解码图像
public Bitmap decodeFile(String path) {
try {
// Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeFile(path, 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.decodeFile(path, o2);
} catch (Throwable e) {
e.printStackTrace();
}
return null;
}
如何使用?
holder.picView.setImageBitmap(decodeFile(act.getimage()));
注意:
您可以根据需要更改REQUIRED_SIZE值。
这是一个很常见的错误。 您为每个列表元素使用大图像,而不是使用小拇指...
我使用一个叫做毕加索的库来处理图像,查看它。
检查这个例子。
Picasso.with(YOUR_CONTEXT).load(new File(YOUR_PATH)).fit().centerCrop().into(YOUR_VIEW);
使用android-query在listview中显示图像。
你可以在这里找到android-query的教程
我希望它有帮助。
链接地址: http://www.djcxy.com/p/93095.html