Glide是近年来Android图片加载最常用的框架,同时也是面试时最容易被问到的。今天就通过面试题的方式来对Glide进行原理的剖析。

第一问:Glide与其他图片框架相比,有什么优势?

很多同学会说 Glide使用是链性写法,使用方便。当然可以这么说,但不能仅仅这么说。

Glide原理剖析,面试就这么答!(一)

我们先看一下with()方法,这个需要传一个context,这个context可以是activity,也可以是fragment。


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

Glide原理剖析,面试就这么答!(一)

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

Glide原理剖析,面试就这么答!(一)



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

Glide原理剖析,面试就这么答!(一)

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

Glide原理剖析,面试就这么答!(一)

里面的确有生命周期的相关操作,所以通过这一连串的操作,最终将glide跟页面的生命周期绑定在一起。

所以结论:glide可以感知调用页面的生命周期,这就是优势。

相关文章:

  • 2021-08-13
  • 2021-08-27
  • 2022-01-06
  • 2022-12-23
  • 2021-10-31
  • 2022-12-23
猜你喜欢
  • 2021-07-09
  • 2022-12-23
  • 2021-11-14
  • 2021-09-17
  • 2021-07-30
  • 2021-08-10
相关资源
相似解决方案