来自服务器的图像未更新 Android

Image from server not updated Android

我需要向用户显示我从 google 云存储加载的他的个人资料图片,问题是当我更改图片并将其上传到服务器时,我刷新页面时我仍然看到旧形象。 我尝试使用 ios 版本的应用程序,它立即刷新,所以服务器没有问题。

要加载图像,我使用 Picasso,我是这样做的:

Picasso.with(ProfileActivity.this).load(imageURL).memoryPolicy(MemoryPolicy.NO_CACHE).into(profilePhoto);

我注意到当我卸载应用程序然后再次安装它时它会刷新图像,所以我猜这是缓存问题。 谁能帮忙?谢谢。

在加载图像之前尝试使其无效:

Picasso.with(ProfileActivity.this).invalidate(imageURL);
Picasso.with(ProfileActivity.this).load(imageURL).memoryPolicy(MemoryPolicy.NO_CACHE).into(profilePhoto);

编辑:您尝试过吗:

Picasso  
    .with(ProfileActivity.this)
    .load(imageURL)
    .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
    .into(profilePhoto);

实际上我认为问题是因为您没有使用本地图像,它使用网络来缓存它。

如果上述方法不起作用,请尝试以下操作:

Picasso  
    .with(ProfileActivity.this)
    .load(imageURL)
    .networkPolicy(NetworkPolicy.NO_CACHE)
    .into(profilePhoto);

我想出了解决办法。 我必须像这样添加网络策略:

Picasso.with(ProfileActivity.this)
    .load(imageURL)
    .networkPolicy(NetworkPolicy.NO_CACHE)
    .memoryPolicy(MemoryPolicy.NO_CACHE)
    .into(profilePhoto);

现在可以了,谢谢大家。