0
我正在制作一个应用程序,可以从互联网上加载大量图像,然后存储缓存以便在Internet无法访问的情况下进行脱机使用。现在很多应用程序也加载来自互联网的图像,例如Instagram和Facebook,但是在清除内部缓存后,它们的缓存不会被删除/清除。如何避免从内部存储清除Glide的缓存?
如何避免在内部存储中执行清除缓存数据时清除Glide的缓存?
我正在制作一个应用程序,可以从互联网上加载大量图像,然后存储缓存以便在Internet无法访问的情况下进行脱机使用。现在很多应用程序也加载来自互联网的图像,例如Instagram和Facebook,但是在清除内部缓存后,它们的缓存不会被删除/清除。如何避免从内部存储清除Glide的缓存?
如何避免在内部存储中执行清除缓存数据时清除Glide的缓存?
从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在同一行?我尝试了同一行,但它给了我错误。 –
查看更新的答案 – John