Glide源码分析2 -- request创建与发送过程

1. 概述和核心类

使用Glide的一般形式为
Glide.with(context).load(url). placeholder(R.drawable.test).into(imageView)。
使用起来相当简单,大家有没有想过内部流程是怎么实现的呢?我是一个喜欢研究源码的人,抱着打破砂锅问到底的想法窥探了下Glide源码,发现这个流程主要与Glide的requests生成与发送过程有关。与它相关的核心类如下

1) Glide:提供了很多static方法,是我们使用的入口,其中的with方法比较关键,之后我们再详细分析

2)RequestManager:进行requests随Activity或Fragment生命周期管理,这部分可参见 Glide源码分析 – 绑定Activity生命周期。这个强大功能是Glide内部实现的,完全不需要用户参与。

3)GenericRequestBuilder: 使用builder模式创建Request,其中的into()方法比较关键,之后详细介绍。它的UML类图如下

这里写图片描述
针对不同格式的图片,Glide分别做了它们的request builder的实现。其他模块只需要依赖GenericRequestBuilder,满足依赖抽象的原则,后期支持别的格式会很方便,可扩展性强。

4)GenericRequest:实现了Request接口,包含r

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢杨易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值