Glide加载网络图片, 显示的还是以前的图片! (最全解决方案!)

来源:互联网 发布:淘宝以后会取消c店吗 编辑:程序博客网 时间:2024/04/29 22:59

之前在项目中遇到很奇葩的问题!

Glide加载网络图片,去浏览器已经确认是另一张图片, 但是APP显示的还是以前的图片. 即后台其实换了图片但是返回的URL还是一样的.所以导致显示的图片还是一样的!


原因:
因为Glide加载图片会将图片缓存到本地,如果url不变则直接读取缓存不会再网络加载


解决方法有两个:

1.每次加载都清理缓存。但这个方法是不可取的, 会导致每次都去网络加载图片. 显示非常慢. 这就相当于废弃了缓存这个好用的功能.

     Glide.with(this)                    .load(uri)                    .asBitmap()                    .centerCrop()                    .diskCacheStrategy( DiskCacheStrategy.NONE )//禁用磁盘缓存                    .skipMemoryCache( true )//跳过内存缓存                    .placeholder(R.mipmap.ic_head_default)                    .transform(new GlideCircleTransform(this)).into(headIV);



2.叫后台返回不同url的链接:即当图片更换的时候,后台返回的url也要改变,这样你本地就会重新加载网络图片。这才是根本解决方法.


我自己采用的就是第二种方法!

1 0
原创粉丝点击