毕加索一直使用缓存图像

时间:2017-05-15 09:15:14

标签: android caching picasso

我正在使用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使用远程优先或缓存然后远程图像吗?

2 个答案:

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