Glide 4.0源码分析(2)

来源:互联网 发布:js 球状旋转效果 编辑:程序博客网 时间:2024/06/09 18:20

说明:(文章还未完成先占个位置。。。)
Glide用法:

 Glide.with(this).load(url) .into(imageView);

本文主要分析Glide加载图片的第二步。第一步请看Glide 4.0源码分析(1)
下面是RequestManager即第二步load(url)方法的源码:

 public RequestBuilder<Drawable> load(@Nullable Object model) {    return asDrawable().load(model);  }

RequestManager的load()方法只有一个,并且参数是Object对象,而不是想3.7.0版本中有有个load()的重载方法,最后返回一个RequestBuilder对象。asDrawable()方法也是返回一个RequestBuilder对象,asDrawable().load(model)中的load()方法则是调动RequestBuilder的load()方法,代码如下:

public RequestBuilder<TranscodeType> load(@Nullable Object model) {    return loadGeneric(model);  }

我们直接看loadGeneric(model)方法:

private RequestBuilder<TranscodeType> loadGeneric(@Nullable Object model) {    this.model = model;    isModelSet = true;    return this;  }

把参数赋给RequestBuilder对象的成员变量,并返回RequestBuilder对象。
总结:
这一步比较简单,主要是构造RequestBuilder对象,为第三步做准备,我们接下来看第三步到底是怎么执行的。Glide 4.0源码分析(3)

原创粉丝点击