Glide v4.4如何关闭内存缓存和磁盘缓存失败?

5

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

因此,在较早版本的Glide中,我已经进行了测试:

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

似乎当图片发生改变时,它可以为具有相同名称的文件工作。官方文档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);

在添加签名密钥后,它就起作用了。有人遇到过相同的情况吗?对我来说,DiskcacheStrategy None和skip memory cache true没有任何影响。
2个回答

3

现在必须使用RequestOptions

 Glide.with(this).load(imageResource)
        .apply(RequestOptions()
                    .placeholder(R.drawable.ic_no_profile_image)
                    .centerCrop()
                    .diskCacheStrategy(DiskCacheStrategy.NONE)
                    .skipMemoryCache(true)
                    .dontAnimate())
        .into(profileImageView)

1

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接