使用截击和滑行上传的图片未更新

时间:2018-10-05 14:34:06

标签: android sharedpreferences android-volley android-glide

Screenshot of app我正在使用我的应用程序中的Volley库上传图像,并使用Glide将图像设置为textview。我有更新图像的按钮,该图像会打开图库并让用户选择图像。然后,文件成功上传到特定的文件夹中,但是图像保持不变。我还尝试了注销和登录用户,该操作擦除了ShredPreferences中的值,并更新了所有数据,但是图像保持不变。服务器文件夹中的旧图像将替换为新图像,但仍会在应用程序中显示。仅在从Settings清除应用程序数据后更新。为什么会这样呢? glide是否存储缓存数据?如何摆脱这个?

1 个答案:

答案 0 :(得分:0)

默认情况下,Glide从服务器缓存图像。因此,如果您的URL不变,它将显示缓存中的图像。要解决此问题,您可以使用RequestOptions:

RequestOptions requestOptions = new RequestOptions()
                        .diskCacheStrategy(DiskCacheStrategy.NONE)
                        .skipMemoryCache(true);

 Glide.with(this)
      .load(YOUR_IMAGE_URL)
      .apply(requestOptions)
      .into(YOUR_IMAGEVIEW);

编辑(毕加索)

如果您使用的是毕加索,则情况相同。在这种情况下,您应该使用:

Picasso.with(this)
                .load(YOUR_IMG_URL)
                .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
                .networkPolicy(NetworkPolicy.NO_CACHE)
                .into(YOUR_IMAGEVIEW);