Glide配置外部缓存路径

1、导入依赖

implementation'com.github.bumptech.glide:glide:4.9.0'

annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'

2 创建外部缓存类

@GlideModule
public class GlideCache extends AppGlideModule {
    //设置缓存大小
    private int size = 1024 * 1024 * 50;
    @Override
    public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
        super.applyOptions(context, builder);
        //获取SD卡绝对路径
        String absolutePath = Environment.getExternalStorageDirectory().getAbsolutePath();
        //判断SD卡是否挂载
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
        //设置磁盘外部缓存
            builder.setDiskCache(new DiskLruCacheFactory(absolutePath, size));
        }
    }
}

3、配置清单文件

 <!--name是外部缓存类,value缓存路径-->
 <meta-data
            android:name="包名加类名com.***.GlideCache"
            android:value="Download"></meta-data>

最后 别忘了加读写权限,如果你配置之后出现的是图片纯白显示,那是你没有加读写权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,367评论 0 5
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,992评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,679评论 1 32
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 6,270评论 0 4
  • 今天看到一位朋友写的mysql笔记总结,觉得写的很详细很用心,这里转载一下,供大家参考下,也希望大家能关注他原文地...
    信仰与初衷阅读 4,838评论 0 30

友情链接更多精彩内容