我制作的应用程序可以从互联网上加载大量图像,然后将缓存存储在无法访问Internet的离线使用中。现在很多应用程序也加载来自互联网的图像,例如Instagram和Facebook,但是在清除内部缓存后,它们的缓存没有被删除/清除。
如何在内部存储中执行清除缓存数据时避免清除Glide的缓存?
答案 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。