Glide万字解密
Glide现在应用最广的一个图片加载框架了,一直都想对它下手,每次都是深陷其中。。。这次狠下心来,对它来个全面的剖析,争取对整个流程和其中的细节都有一个覆盖。 本文的Glide的解析是基于最新的4.11.0版本来进行的。 其实从一般的网络加载图片,可以简单分析下大体的流程,无非就是建立相关的请求信息,然后通过线程池技术对请求信息进行请求,然后将下载的图片文件进行转化显示。 先来看个简单的测试使用代码开始,然后逐步深入 Glide.with(view.getContext()) .load(url) .into(view); with() Glide的 with 函数为我们提供了不同的入参,其最终的返回对象都是 RequestManager 我们的测试代码用的是 Context 那么这里我们就跟踪一下这个函数,其实其他几个都是相似的 @NonNull public static RequestManager with(@NonNull Context context) { return getRetriever(context).get(context); } @NonNull private static RequestManagerRetriever getRetriever(@Nullable Context context) { //校验Context不能为空