【问题标题】:How to clear unused glide caches?如何清除未使用的滑行缓存?
【发布时间】:2019-06-28 13:00:07
【问题描述】:

在使用 glide 时,我观察到 glide 使用散列名称保存缓存文件。 这使得删除未使用的图像缓存变得困难。 例如:

在聊天应用中滑行将用户头像缓存保存在缓存目录中 使用哈希名称,一段时间后用户更改他/她的头像和 那个头像也被 glide 缓存了。

现在的问题是有两个版本的单用户缓存图片一个是当前版本另一个是以前版本的缓存,没有用,它会占用一些空间

有没有什么办法可以在新版本到来时删除之前版本的缓存?

【问题讨论】:

    标签: java android caching android-glide


    【解决方案1】:

    上一个 glide 的版本中似乎没有提供这样的功能。 但以下解决方案可能对您有用:

    1. DiskCacheStrategy.NONE 如果您从磁盘加载图像,则不需要缓存缩略图,这种方法将满足您的需求。 但是在这种情况下,如果从网络中检索图像,则每次都会重新加载图像。

    2. 您可以使用InternalCacheDiskCacheFactory 限制滑行缓存的大小 默认为 250 MB。

    【讨论】:

    • 你能解释一下 InternalCacheDiskCacheFactory 是做什么的吗?意思是如果它设置为 2Mb 那么 glide 会做什么?
    • 不客气 :) 如果满足条件size >= maxSize,其中size 是内部缓存中所有缓存缩略图的大小,maxSizeInternalCacheDiskCacheFactory 的构造函数中指定的大小然后它将清除LRU cache中的所有当前图像
    猜你喜欢
    • 2017-10-02
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 2018-06-04
    • 2022-01-20
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多