2017-03-31 62 views
0

我正在制作一个应用程序,可以从互联网上加载大量图像,然后存储缓存以便在Internet无法访问的情况下进行脱机使用。现在很多应用程序也加载来自互联网的图像,例如Instagram和Facebook,但是在清除内部缓存后,它们的缓存不会被删除/清除。如何避免从内部存储清除Glide的缓存?

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

回答

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

+0

在哪里添加此方法...?与Glide在同一行?我尝试了同一行,但它给了我错误。 –

+0

查看更新的答案 – John