如何避免从内部存储中清除Glide的缓存?

时间:2017-03-31 13:14:42

标签: android caching android-glide

我制作的应用程序可以从互联网上加载大量图像,然后将缓存存储在无法访问Internet的离线使用中。现在很多应用程序也加载来自互联网的图像,例如Instagram和Facebook,但是在清除内部缓存后,它们的缓存没有被删除/清除。

如何在内部存储中执行清除缓存数据时避免清除Glide的缓存?

1 个答案:

答案 0 :(得分:0)

从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