Glide是近年来Android图片加载最常用的框架,同时也是面试时最容易被问到的。今天就通过面试题的方式来对Glide进行原理的剖析。
第一问:Glide与其他图片框架相比,有什么优势?
很多同学会说 Glide使用是链性写法,使用方便。当然可以这么说,但不能仅仅这么说。

我们先看一下with()方法,这个需要传一个context,这个context可以是activity,也可以是fragment。
不管传入哪种值得with方法,它的底层都是调用getRetriever()方法,当传入fragment的时候,通过fragment.getActivity()其实还是acitivity实例。那我们接下来继续看getRetriever()方法。

通过该方法获取到了一个requestManagerRetriever实例,在requestManagerRetrieve中调用了get()方法。

不管是哪一种get()方法,最终都会通过你传入的参数,获取到framentManager。

再通过framentManager得到RequestManagerFrament实例。这个为什么要创建fragment呢,fragment跟activity之间的生命周期是绑定的,难道是因为这个,我们看看RequestManagerFrament里面。

里面的确有生命周期的相关操作,所以通过这一连串的操作,最终将glide跟页面的生命周期绑定在一起。
所以结论:glide可以感知调用页面的生命周期,这就是优势。
本文深入解析Glide框架,探讨其相较于其他图片加载框架的优势。通过分析Glide如何感知调用页面的生命周期,揭示其核心机制。
&spm=1001.2101.3001.5002&articleId=106489951&d=1&t=3&u=0b8b0c77a17d4b75a6f30c4867626f69)
3448

被折叠的 条评论
为什么被折叠?



