Picasso 总是显示旧图像而不是来自特定 URL 的新图像

问题描述

使用 Picasso 从一个特定的 URL 加载图像,但总是显示旧图像,而不是新图像

Picasso.get()
  .load("https://blabla.com/image/rose.png")
  .networkPolicy(NetworkPolicy.NO_CACHE,NetworkPolicy.NO_STORE)
  .into(image_view)

依赖

implementation 'com.squareup.picasso:picasso:2.71828'

解决方法

您必须添加 .memoryPolicy(MemoryPolicy.NO_CACHE)

,

嘿,

所以你必须把这些行

Picasso.with(context).load(imageUrl)
            .error(R.drawable.error)
            .placeholder(R.drawable.placeholder)
            .memoryPolicy(MemoryPolicy.NO_CACHE,MemoryPolicy.NO_STORE)
            .into(imageView);

编辑

在 picasso 中添加 .stableKey(url)

然后当再次加载图像时调用此方法

Picasso.with(getContext()).invalidate(url);

大功告成