Glide4.x 任务与上下文生命周期关联的实现分析

转载请注明出处:王亟亟的大牛之路

写之前先安利,接下来2 3个月我会花点时间捡起一些安卓的技能,看看这2年没花什么精力投入的安卓变成啥样子了https://github.com/ddwhan0123/Useful-Open-Source-Android


什么是Glide?

Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。
Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api是如此的灵活,开发者甚至可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。
虽然Glide 的主要目标是让任何形式的图片列表的滚动尽可能地变得更快、更平滑,但实际上,Glide几乎能满足你对远程图片的拉取/缩放/显示的一切需求。


本篇研究的内容和目的

  • Glide如何暂停请求
  • Glide如何获取生命周期
  • 以上二者是如何实现的

入口方法

  Glide.with(this).load(img_url).into(imageView)

简单的一句加载函数

.with() 关联了一个上下文环境的对象

.load()关联了你要加载的资源的路径(load是一个多态的方法,可以是url,字符串地址,文件等等等方式)

.into()是把以上的内容加载到哪个控件里去(into()方法也是,面向的是ViewTarget<a,b>的泛形)


with的做了什么

在这里插入图片描述
所有with方法都返回了一个RequestManager对象
在这里插入图片描述
RequestManager的get方法会根据不同的入参类型去构建RequestManager对象(以下以Activity的场景为例)

<
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值