Glide

Glide最基本的用法就是三步走:先with(),再load(),最后into()。

with()方法的重载种类非常多,既可以传入Activity,也可以传入Fragment或者是Context。

都是先调用RequestManagerRetriever的静态get()方法得到一个RequestManagerRetriever对象,这个静态get()方法就是一个单例实现,然后再调用RequestManagerRetriever的实例get()方法,去获取RequestManager对象。

如果在Glide.with()方法中传入的是一个Application对象

因为Application对象的生命周期即应用程序的生命周期,因此Glide并不需要做什么特殊的处理,它自动就是和应用程序的生命周期是同步的,如果应用程序关闭的话,Glide的加载也会同时终止。

不管你在Glide.with()方法中传入的是Activity、FragmentActivity、v4包下的Fragment、还是app包下的Fragment,最终的流程都是一样的,那就是会向当前的Activity当中添加一个隐藏的Fragment。

某个Activity上正在加载着一张图片,结果图片还没加载出来,Activity就被用户关掉了,因为Fragment的生命周期和Activity是同步的,如果Activity被销毁了,Fragment是可以监听到的,这样Glide就可以捕获这个事件并停止图片加载了。

由于with()方法返回的是一个RequestManager对象,所以load()方法是在RequestManager类当中的,而且RequestManager中也有很多个load()方法的重载,如果不指定类型,load方法默认置为asDrawable(),然后通过返回的RequestBuilder类中的load()加载图片,最终返回RequestBuilder<Drawable>。

而我们实际使用的时候会有加载asBitmap()、asFile()等操作,也就说明了Gilded支持加载各种各样的图片资源,包括网络图片、本地图片、Uri对象、String字符串等。最后调用RequestManager类的apply方法返回RequestBuilder<TranscodeType>对象。

调用RequestBuilder的into方法,返回了一个Target对象,Target对象则是用来最终展示图片用的()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值