转:ListView 或 RecyclerView 使用 Glide加载图片错乱可能出现原因

ListView 或 RecyclerView 使用 Glide 特别注意

错误的写法:

Context context = MainActivity.this;

Glide.with(context)
        .load(url)
        .into(imageView);

正确的写法:

Glide.with(imageView.getContext())
        .load(url)
        .into(imageView);

Glide 使用的上下文一定要是 ImageView.getContext() 的,来源于我曾经遇到过的问题,在 RecyclerView 中 itemView 中包含一个 ImageView 对象,用于加载后台的用户头像 URL,但是随着列表的滚动,ImageView 加载的图片会混乱起来,原因是 Glide 持有 Activity 的上下文,只要 Activity 没有 finish,Glide 就不会停止本次读取和加载,如果使用了 ImageView 的上下文,只要 ImageView 不可见就会停止加载

 

你可能感兴趣的:(转:ListView 或 RecyclerView 使用 Glide加载图片错乱可能出现原因)