Glide v4.4 禁用内存缓存和磁盘缓存失效

rod*_*_la 5 android android-glide

图像文件从服务器下载并始终保存为相同的文件名。

所以在早期版本的 glide 中,我已经过测试

Uri uri = Uri.fromFile(new File(downloadPath));
GlideApp.with(this)
        .load(uri)
        .diskCacheStrategy(DiskCacheStrategy.NONE)
        .skipMemoryCache(true)
        .into(mDownloadImageView);
Run Code Online (Sandbox Code Playgroud)

当图像发生变化时,它似乎适用于具有相同名称的文件。上面提到的官方文档Glide Caching 。

但现在在 Glide 4.4.0 中,我再次使用了这段代码,但它不起作用。我需要添加如下签名:

Uri uri = Uri.fromFile(new File(downloadPath));
GlideApp.with(this)
        .load(uri)
        .signature(new ObjectKey(System.currentTimeMillis()))
        .diskCacheStrategy(DiskCacheStrategy.NONE)
        .skipMemoryCache(true)
        .into(mDownloadImageView);
Run Code Online (Sandbox Code Playgroud)

添加签名密钥后,就可以了。

有人遇到过同样的场景吗?DiskcacheStrategy None 并跳过内存缓存 true 对我来说根本没有影响。

小智 1

是的,我也有同样的问题。如果我想每次刷新图像,我必须使用签名,将 diskCacheStrategy() 设置为 NONE,将skipMemoryCache() 设置为 true。

另一个问题是,如果我使用 diskCacheStrategy() 设置为 ALL 并带有某些签名(以便在某些情况下强制刷新缓存) - 它不起作用。签名每次都会改变,但 Glide 总是从缓存加载图像并且不想刷新它。

它在 Glide v3 上运行良好,但在升级到 v4 后停止正常运行。