Glide V4源码分析

936 阅读1分钟

1. 前言

1.1 现有Glide V4源码分析文章

现有的Glide V4源码分析的文章包含许多优秀的文章:

这些文章都对Glide源码分析比较透彻,【1】里面贴了太多源码,导致文章冗长,很难阅读。【3】通过图文的方式解决了这个问题,但是对load过程介绍过于简化。因此,本文将以图文的方式对glide的工作原理进行分析。主要包含

  • RequestManager的构建过程
  • Request的构建过程
  • Load的过程

1.2 Glide基本组件简介

1.3 分析的案例

为了简化问题,减少分析,如下demo所示,本文分析限定如下范围:

  • model类型为url
  • target为ImageView
Glide.with(mContext)
            .load(url1)
            .into(imageView);

2. RequestManager的创建过程(with过程)

2.1 Context为ApplicationContext的情况

2.2 Context为Activity或者Fragment的情况

相关类图

3. RequestBuilder创建过程(load过程)

4. 资源请求和绑定过程(into)

4.1 创建Request

4.2 执行Request,并且绑定到View上面

resourceReady过程

clear过程


5. 数据转化的过程