我正在使用Picasso从我的服务器加载图像:
String urlString = Constants.API.BASE_URL + "/storage/images/products/1.png";
Picasso.with(itemView.getContext())
.load(urlString)
.error(R.drawable.ic_logo)
.placeholder(R.drawable.ic_products)
.into(mIconImageView);
但是,当我将服务器的图像更改为与加载的图像位于同一位置时:
"/storage/images/products/1.png"
毕加索仍在使用缓存(旧)图片。
我已经退出了我的活动,然后重新启动它。但是,毕加索继续使用缓存图像。
当我重新启动我的应用程序时。毕加索更新了它的缓存。
让Picasso使用远程优先或缓存然后远程图像吗?
答案 0 :(得分:2)
先使用它。
这可能会使指定的uri的所有内存缓存图像无效。
Picasso.with(itemView.getContext())
.invalidate(urlString);
再次致电Picasso
Picasso.with(itemView.getContext())
.load(urlString)
.error(R.drawable.ic_logo)
.placeholder(R.drawable.ic_products)
.into(mIconImageView);
答案 1 :(得分:1)
尝试以下
Picasso.with(itemView.getContext())
.load(urlString)
.error(R.drawable.ic_logo)
.memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
.networkPolicy(NetworkPolicy.NO_CACHE)
.placeholder(R.drawable.ic_products)
.into(mIconImageView);