我正在使用Picasso来加载5张图片,首先,我正在调整我的图像大小以匹配我的屏幕宽度,这也用作我的高度来获得方形图像视图,然后调用centercrop使其看起来逼真同时删除了Alpha通道,但即使在我将所有这些内存增加到85mb之后,图像也从服务器下载,下面是使用的代码
Picasso.with(context)
.load(sale.getImage())
.config(Bitmap.Config.RGB_565)
.centerCrop()
.resize((int) Utils.convertDpToPixel((int) Utils.getScreenWidth(context)), (int) Utils.convertDpToPixel((int) Utils.getScreenWidth(context)))
.into(viewHolder.img_image, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
viewHolder.img_image.setVisibility(View.GONE);
viewHolder.img_image.destroyDrawingCache();
}
});
}
的图像
我注意到的另一件事是Picasso在使用后没有清除内存,有时它显示我使用的是20mb,但是当我从Android Studio内存调用GC
内存下降到大约8mb时,我需要做些什么此?
答案 0 :(得分:2)
您正在呼叫GC
,内存是否达到最低值?这表示对使用的位图没有强烈的引用。 一切都很好。
由于将大图像解码为位图,因此会占用大量内存。位图格式非常重。这与此无关。我建议你降低生成图像的分辨率。