从源码分析从源码分析Android的的Glide库的图片加载流程及特点库的图片加载流程及特点
主要介绍了从源码分析Android的Glide库的图片加载流程及特点,Glide库是Android下一款人气很高的多媒体资源管理库,特
别是在处理gif加载方面受到众多开发者青睐,需要的朋友可以参考下
0.基础知识基础知识
Glide中有一部分单词,我不知道用什么中文可以确切的表达出含义,用英文单词可能在行文中更加合适,还有一些词在Glide中有特别的
含义,我理解的可能也不深入,这里先记录一下。
(1)View: 一般情况下,指Android中的View及其子类控件(包括自定义的),尤其指ImageView。这些控件可在上面绘制Drawable
(2)Target: Glide中重要的概念,目标。它即可以指封装了一个View的Target(ViewTarget),也可以不包含View(SimpleTarget)。
(3)Drawable: 指Android中的Drawable类或者它的子类,如BitmapDrawable等。或者Glide中基础Drawable实现的自定义Drawable(如
GifDrawable等)
(4)Request - 加载请求,可以是网络请求或者其他任何下载图片的请求,也是Glide中的一个类。
(5)Model:数据源的提供者,如Url,文件路径等,可以从model中获取InputStream。
(6)Signature:签名,可以唯一地标识一个对象。
(7)recycle():Glide中Resource类有此方法,表示该资源不被引用,可以放入池中(此时并没有释放空间)。Android中Bitmap也有此方
法,表示释放Bitmap占用的内存。
1.主要特点主要特点
(1)支持Memory和Disk图片缓存。
(2)支持gif和webp格式图片。
(3)根据Activity/Fragment生命周期自动管理请求。
(4)使用Bitmap Pool可以使Bitmap复用。
(5)对于回收的Bitmap会主动调用recycle,减小系统回收压力。
2. 总体设计总体设计
基本概念
RequestManager:请求管理,每一个Activity都会创建一个RequestManager,根据对应Activity的生命周期管理该Activity上所以的图片请
求。
Engine:加载图片的引擎,根据Request创建EngineJob和DecodeJob。
EngineJob:图片加载。
评论0
最新资源