创建自定义RecyclerImageView,替换原imageView,重写onDetachedFromWindow,在它从屏幕中消失时回调,去掉drawable引用,能加快内存的回收。
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
setImageDrawable(null);
}
配置picasso加载类
public class ImageUtil {
public static void loadImg(Context context, String url, ImageView imageView){
Picasso.with(context)
.load(url)
.fit()
.memoryPolicy(NO_CACHE, NO_STORE)
.config(Bitmap.Config.ALPHA_8)
.centerCrop()
.into(imageView);
}
}
Android默认使用ARGB_8888,可自行选择
Android中有四种,分别是:
ALPHA_8:每个像素占用1byte内存
ARGB_4444:每个像素占用2byte内存
ARGB_8888:每个像素占用4byte内存
RGB_565:每个像素占用2byte内存
网友评论