美文网首页
【原创】Glide总结

【原创】Glide总结

作者: nanteschen | 来源:发表于2019-02-13 15:46 被阅读0次

Glide.with(context).load(filepath).into(ImageView)

其中:
with()方法的主要作用是管理图片请求的生命周期
load()方法主要是构建请求的Request对象
into()方法最复杂,包括发起请求和加载图片的具体过程

Glide请求会跟随context的生命周期,在这里context可以是Application、Activity或者Fragment。
·如果context是一个非Application对象,如Activity或者Fragment,Glide会向当前的Activity中添加一个隐藏的Fragment,这样就可以监听Activity的生命周期。
·如果是一个Application,那么Glide不需要做什么,直接跟随App的生命周期即可。
·如果是在非主线程中使用Glide,不管传入什么context都会当成Application处理

Glide第三方库的优点在于对图片资源生命周期的管理比较好,使用Glide库加载图片资源可以使App在内存管理上有很大优势,此外Glide还可以支持相当数量的不同资源类型加载。

缓存方面,Glide分两个模块,一个是内存缓存,一个是硬盘缓存。
内存缓存又分两级:LRU Cache缓存和弱引用缓存。
硬盘缓存也分两级:处理资源缓存和未处理资源缓存,由Glide自带的DiskLruCache工具类实现

Glide的load逻辑:(全部在into()方法里)
a.首先通过KeyFactory创建一个EngineKey对象,它是一个缓存key,也就是加载资源的标识符。
b.内存缓存
一级缓存:LRU缓存 MemoryCache
不在使用中的图片使用LRUCache来进行缓存
具体实现在loadFromCache()方法中
二级缓存:活跃资源缓存 ActiveResourceCache
正在使用中的图片用弱引用缓存
具体实现在loadFromActiveResources()方法中
c.检查当前已存在的EngineJob中是否有相同的EngineKey,如果没有就创建新的EngineJob
d.磁盘缓存
在启动EngineJob之后,先去检查磁盘缓存。磁盘缓存也分两种:
一级缓存:decodeResultFromCache()
从处理之后(如剪切)的图片中检查是否有匹配的
二级缓存:decodeSourceFromCache()
检查是否存在匹配的未处理资源
f.请求网络资源 decodeFromSource()

相关文章

  • 【原创】Glide总结

    Glide.with(context).load(filepath).into(ImageView) 其中:wit...

  • glide缓存

    Glide[https://github.com/bumptech/glide] 总结 Glide缓存简介 Gli...

  • android 图片加载框架

    哪三大图片加载框架? 介绍: 总结: 本文总结使用Glide gradle中导入Glide 代码中使用 为Glid...

  • Glide 使用简单总结(整理郭霖Glide系列文章)

    文中内容整理自郭霖Glide系列文章郭霖 Glide Glide 使用简单总结 基本使用 基本使用 添加占位图 强...

  • Glide 使用

    文章都是参考郭霖的Glide系列的个人总结,更加方便与个人的使用的查找。 Glide 4 相较于 Glide 3 ...

  • Glide 缓存原理实现

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

  • Glide4.0的用法

    前言 Glide 4相对于Glide 3改动非常大,尤其是aip的调用。 Glide4.0的用法 总结一下Glid...

  • 【Glide】- 总结

    简介 上一篇文章【Glide】- 源码分析讲解了Glide大体执行流程,这篇文章主要讲解Glide的使用,并对开发...

  • Glide总结

    Glide中实现了ComponentCallbacks2,并注册,所以glide可以在系统内存紧张时,回调appl...

  • Glide 简单使用1分钟速查

    这是对Glide使用的一个最简单的梳理,从 这里 Glide 开始 总结而来。 引入依赖 使用 支持gif图 支持...

网友评论

      本文标题:【原创】Glide总结

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