【问题标题】:How to remove glide cache - android?如何删除滑行缓存 - android?
【发布时间】:2018-05-29 00:58:36
【问题描述】:

所以我在我的应用程序的任何地方都使用 glide 通过 url 上传用户的个人资料图片。当用户更改他们的个人资料图片时。我更新了后端,所以 url 也更新了。但是,glide 已经缓存了旧图像。如何覆盖之前缓存的图片,让用户在浏览应用时,可以在所有活动中看到自己头像的变化?

【问题讨论】:

标签: android android-glide


【解决方案1】:
RequestOptions requestOptions = new RequestOptions()
                        .diskCacheStrategy(DiskCacheStrategy.NONE) // because file name is always same
                        .skipMemoryCache(true);

            Glide.with(this)
                    .load(photoUrl)
                    .apply(requestOptions)
                    .into(profile_image);

在最新版本中我们应该使用 RequestOptions

RequestOptions 提供与类型无关的选项,以便在最新版本的 Glide 中使用 Glide 自定义加载。

制作一个 RequestOptions 对象并在我们加载图像时使用它。

【讨论】:

    【解决方案2】:

    在 UI 线程外调用 Glide.get(context).clearDiskCache()。 (也可以考虑clearMemory(),以防止清除磁盘缓存后出现意外)

    读取缓存invalidation,因为否则无法从缓存中删除单个文件。如果您解释您的“清除 URL 缓存”用例,我们或许可以提供更好的建议。

    【讨论】:

    • 这里他不想清除 gradle 的缓存,但想从 imageview 中删除 Glide 的缓存以查看更新的图像
    • @Jigar Patel,我认为您误解了这个问题。当用户实际使用应用程序时
    • @TheQ 查看更新的答案
    猜你喜欢
    • 2017-06-20
    • 2019-06-28
    • 2021-11-18
    • 1970-01-01
    • 2012-06-17
    • 2011-10-17
    • 2018-12-19
    • 2014-12-10
    • 1970-01-01
    相关资源
    最近更新 更多