我正在开发一款Android应用程序,需要从Firebase后端下载图片,但在我的回收视图中下载并显示5到6张图片后,会抛出“内存不足”的异常。
我使用了一个图像压缩库,因此每张图像的大小近乎为300到400 KB。
我添加了
<application android:largeHeap="true"
,但问题仍然存在
我的代码:
//Retriving image from picasso
Picasso.Builder builder = new Picasso.Builder(c);
builder.listener(new Picasso.Listener() {
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {
Toast.makeText(c,exception.getMessage(),Toast.LENGTH_LONG).show();
}
});
Picasso pic = builder.build();
pic.load(currentPost.getDownloadlinkDB()).into(((MyViewHolder_Image) holder).imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Toast.makeText(c, "Problem in downloading image from server", Toast.LENGTH_SHORT).show();
}
});
如何解决这个问题?
Glide
。它存储调整大小后的图像而不是原始图像,并使用RGB565。 - user2756345