美文网首页
glide原理

glide原理

作者: 我与android的爱恨纠葛 | 来源:发表于2019-11-14 16:16 被阅读0次

首先先了解图片三级缓存:

三级缓存可以减少不必要的流量消耗,增加加载速度
1,内存缓存,优先加载,速度最快
2.本地缓存,次优先级加载,速度次之
3.网络缓存,最后加载,速度由网速决定

内存缓存一般使用LruChche缓存策略,首先需要或者应用可用的最大内存,然后设置缓存的可用大小,将图片的缓存大小设为最大缓存的1/8或者1/4
本地缓存首先需要获取SD卡的根目录的路径,然后对图片进行保存和读取。在保存时需要对Url进行MD5加密,将加密后返回的字符串作为关键字创建文件夹,同时保存图片
网络缓存图片时需要将网络获得的图片缓存到内存和SD卡中,因此需要在构造方法中初始化内存缓存工具类和SD卡缓存工具类。这里采用AsyncTask异步栈的方式实现图片的异步下载。

先创建一个glide单例,初始化操作磁盘缓存的线程池
初始化内存大小


AB75BEAB70EC45108F78571C461032A4.jpg

然后进行三级缓存:


4FB5B05B656140CEB4F1967E24C8A24E.jpg

28-29,创建图片URL、宽、高等一系列参数创建key
31-39,从内存缓存弱引用中根据Key获取图片资源,有就返回,没有往下执行
41-49,从内存缓存Lrucache中根绝key获取图片资源,有就返回,没有往下执行
通过以上代码可以看出Glide内存缓存采用了2级,第一级是弱引用,第二级才是Lrucache,如果软引用中没有
对应的图片缓存,就从Lrucache中获取,如果还是没有才去检查磁盘缓存,如果还是没有最后才去网络下载

总结:


3C2ED9095D0C4B53B7E9756CE1F1B12E.jpg

相关文章

  • Glide 图片加载连接超时

    参考文章 Glide 4.x添加自定义组件原理Glide 系列-1:预热、Glide 的常用配置方式及其原理Gli...

  • Glide 源码学习补漏,Glide 图片缓存原理探究

    基于 Gilde 4.3.1 上一篇Glide 源码学习,了解 Glide 图片加载原理中分析了 Glide 加载...

  • Glide源码解析(4.X版本)

    知识点汇总: 一:Glide项目概述 二:Glide加载图片的原理 三:Glide三级缓存的设计 四:Glide如...

  • Glide 缓存原理实现

    Glide 缓存原理实现 专注于Android开发,分享经验总结,欢迎加入QQ群:686809487 Glide缓...

  • Glide原理

  • glide原理

    首先先了解图片三级缓存: 三级缓存可以减少不必要的流量消耗,增加加载速度1,内存缓存,优先加载,速度最快2.本地缓...

  • 探究Glide的运行原理 (2)

    前言 上一篇探究Glide的运行原理(1))我们主要了解了一下Glide的简介以及简单的使用,同时也对Glide....

  • Android面试 Glide源码流程

    面试问题 简单介绍一下Glide缓存 具体说说Glide的三级缓存原理 Glide加载一个100x100的图片,是...

  • Glide框架初识

    Glide原理 Glide在加载绑定了Activity的生命周期。 在Activity内新建一个无UI的Fragm...

  • Glide如何自动管理生命周期

    Glide管理生命周期还是很有想法的,这种思路值得我们去学习和应用; 特点 实现原理 源码分析 Glide.wit...

网友评论

      本文标题:glide原理

      本文链接:https://www.haomeiwen.com/subject/oebrictx.html