问题:Glide图片缓存问题,同一url换图片不起作用问题

一、转载:

转自:http://blog.csdn.net/spt_dream/article/details/53412185
Glide的引入网上很多,更换图片时候调用资源id时候多更改名字才可以实现,网络请求时候用一个固定url请求也不加载直接读取缓存,导致后台换图片,手机不起作用。
网上说完全起线程清除缓存,或者设置跳过内存缓存:

Glide.with(this).load(imageUrl).skipMemoryCache(true).into(imageView);

但是都不起作用!!!

解决方法有两个:

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);  

第二种方法:

.signature( new StringSignature("01"))//增加签名

这个api是增加签名,地址不变,改变这个签名参数也会不读取缓存重新请求。
我就是用这个方法,传递url不变也可以重新请求,不读取缓存。这个参数可以绑定版本号,每次更新重新获取,或者请求后台强大的Glide

二、个人解决方式:

1、既然同一个url会出现这个问题,是否可以考虑将图片地址进行改变呢

如果需求中上传的图片同一个ID不要求命名一样,那么可以考虑根据上传的图片名字,将上传的图片命名为带有图片名称相关的名字进行上传,从而改变url的地址。

2、若客户端或者服务端要求是一个url,则可以通过转载的文章中所述的第二种进行解决
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,966评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 今天是培训的第四天了,感觉很多一开始被要求必须完成的作业现在变成了潜意识想要去完成的事情,这就是我们销售...
    爱FAB小丹阅读 297评论 0 0
  • 很多时候我们会特立独行,即使再觉得自己没有错,内心深处也会有小小的动摇,感觉到迷惘和抑郁,这时该怎么办呢。 比如上...
    16aa5fab5f62阅读 1,975评论 0 1
  • 6/100【木子青青-重庆-行政-S04】【每日一结构】结构思考力100天思维改善打卡营 G:【心理咨询师三阶飞跃...
    木子青青草阅读 163评论 0 0