我有3个ImageViews,我从网址随机设置图像。我得到java.lang.OutOfMemoryError。我正在使用以下代码为ImageView设置图像。如何摆脱java.lang.OutOfMemoryError?
public void changeImages(){
try {
for(int i=0; i<items.size(); i++){
URL imageUrl = new URL(items.get(i).getImageUrl());
if(i == 0){
image1.setImageBitmap(BitmapFactory.decodeStream(imageUrl.openStream()));
}else if(i == 1){
image2.setImageBitmap(BitmapFactory.decodeStream(imageUrl.openStream()));
}else if(i == 2){
image3.setImageBitmap(BitmapFactory.decodeStream(imageUrl.openStream()));
}
}
} catch (Exception ex) {
System.out.println("Exception in parseResponse: "+ex);
}
}
image1,image2和image3是ImageViews。几次改变图像后,我得到java.lang.OutOfMemoryError。任何想法我应该如何摆脱它?提前致谢。
在谷歌查找内存泄漏。别客气。 (但是,如果你改变了,因为你没有关闭你在你的循环中打开的'imageUrl'流,所以你的图片会严格保留在后面) –
有很好的库来处理下载和显示图像到imageview中,在google中搜索一些。 – hardartcore