转载:http://blog.csdn.net/android_xiong_st/article/details/53129256
Glide加载网络图片, 显示的还是以前的图片! (最全解决方案!)
在项目中遇到很奇葩的问题!
Glide加载网络图片,去浏览器已经确认是另一张图片, 但是APP显示的还是以前的图片. 即后台其实换了图片但是返回的URL还是一样的.所以导致显示的图片还是一样的!
原因:
因为Glide加载图片会将图片缓存到本地,如果url不变则直接读取缓存不会再网络加载
解决方法有两个:
1.每次加载都清理缓存。但这个方法是不可取的, 会导致每次都去网络加载图片. 显示非常慢. 这就相当于废弃了缓存这个好用的功能.
Glide.with(context)
.load(url)
.asBitmap()
.centerCrop()
.diskCacheStrategy( DiskCacheStrategy.NONE )//禁用磁盘缓存
.skipMemoryCache(true) //跳过内存缓存
.error(R.drawable.daren_default_middle)
.placeholder(R.drawable.daren_default_middle)
// .crossFade()
.fitCenter()
.transform(new GlideCircleTransform(context)).into(imageView);
2.叫后台返回不同url的链接:即当图片更换的时候,后台返回的url也要改变,这样你本地就会重新加载网络图片。这才是根本解决方法.
建议采用的就是第二种方法!