我正在使用Picasso
将图片加载到我的ImageView
中,如下所示:
Picasso.with(getContext())
.load(store.getString("profile"))
.placeholder(R.drawable.ic_nothumb)
.resize(120, 120)
.into(iv);
store.getString("profile") = a
字符串代表我的网址。
但即使路径没有变化,当我在同一路径中更新图片时,Picasso
仍会加载上一张图片。
我已经知道我们可以清除网络缓存但我无法找到使用方法
当我尝试使用.invalidate()
方法时,.cachePolicy()
或.networkPolicy()
我还有未解决的符号。
编辑:我更新了我的Picasso
版本以进行编译
"com.squareup.picasso:picasso:2.5.2"
现在我可以使用.networkPolicy()
,但是我遇到了这个错误,我找不到任何解决方法来修复它:
E / AndroidRuntime:致命异常:主要 处理:dev.com.diaginfo,PID:10614 java.lang.NoClassDefFoundError:解析失败:Lcom / squareup / picasso / NetworkPolicy; 引起:java.lang.ClassNotFoundException:没找到类" com.squareup.picasso.NetworkPolicy"在路径上:DexPathList
答案 0 :(得分:1)
你必须明确告诉Picasso不要缓存图像:
Picasso.with(getContext())
.load(store.getString("profile"))
.placeholder(R.drawable.ic_nothumb)
.resize(120, 120)
.networkPolicy(NetworkPolicy.NO_CACHE)
.into(iv);
答案 1 :(得分:0)
Picaso使用ur url作为缓存的关键。更新图像时使用时间戳来过来。我已经习惯了,它就像一个魅力