【问题标题】:How to Avoid Clearing Glide's Caches from Internal Storage?如何避免从内部存储中清除 Glide 的缓存?
【发布时间】:2017-08-25 18:49:26
【问题描述】:

我正在制作一个应用程序,它可以从互联网加载大量图像,然后在无法访问互联网的地方存储缓存以供离线使用。现在很多应用程序也从 Internet 加载图像,例如 Instagram 和 Facebook,但在清除内部缓存后,它们的缓存不会被删除/清除。

如何避免 Glide 的缓存在执行 Clear Cached Data in Internal Storage 时被清除?

【问题讨论】:

    标签: android caching android-glide


    【解决方案1】:

    从 Glide 3.5 开始,您可以使用 GlideModule 接口懒惰地配置 Glide 并在第一次 Glide 请求时自动注册 ModelLoaders 等组件。

    您可以在公共目录中设置不被删除的缓存位置:

    package com.mypackage;
    
    public class MyGlideModule implements GlideModule {
        @Override public void applyOptions(Context context, GlideBuilder builder) {
            builder.setDiskCache(
          new ExternalCacheDiskCacheFactory(context, cacheDirectoryName, yourSizeInBytes));
        }
    
        @Override public void registerComponents(Context context, Glide glide) {
            // register ModelLoaders here.
        }
    }
    

    更多地关注wiki。

    【讨论】:

    • 在哪里添加这个方法...?与 Glide 在同一行?我在同一行尝试过,但它给了我错误。
    猜你喜欢
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 2010-09-07
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多