图片内存优化(picasso)

创建自定义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内存

你可能感兴趣的:(图片内存优化(picasso))