Glide源码分析网页图片标加载流程(二):图片加载之onStart回调

Glide源码分析网页图标加载流程(一):资源加载前的工作

上篇文章中讲解了Glide通过Activity生命周期来管理图片加载流程。

本文主要分析当添加的Fragment的onStart被会掉时,Glide所做的相关操作。

首先给出流程图:

通过上面的流程图可以知道,Glide注册到ActivityFragmentLifecycle的三个监听得到了回调。

 

        首先被回调的是DefaultConnectivityMonitor的onStart方法,回调中主要是对网络连接状态添加了一个广播监听。

 

      然后GlideDrawableImageViewTarget的onStart方法被回调,这里会开始GlideDrawable的动画,因为还没有加载图片,所以resource为空,不会有动画执行。

                                                       

 

最后被回调的监听就是RequestManager注册的监听,从这里开始未完成的图片加载请求。

       开始加载图片之前,首先会判断当前ImageView的尺寸是否已经确定。确定View尺寸的过程中,首先判断有没有设置overrideWidth和overrideHeight,若果没有那么就通过LayoutParams来获取大小。如果上述过程没有获取到View确切的大小,那么就对ImageView添加一个addOnPreDrawListener监听。

       那么在begin方法中,如果有设置PlaceholderDrawable且图片在在还没完成,那么此Drawable会被设置到ImageView中。

        通过上面的分析onStart的回调已经走完了,但是图片的加载还是没有真正的开始。原因是例子中的ImageView没有指定overWidth和overHeight,以及控件具体的大小。但是ImangeView有添加一个addOnPreDrawListener回调,图片的加载将从此真正的开始。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值