寫在之前

上一篇博文寫的是Android 圖片加載框架Glide4.0源碼完全解析(一),主要分析了Glide4.0源碼中的with方法和load方法,原本打算是一起發(fā)布的,但是由于into方法復(fù)雜性遠(yuǎn)不是前兩個(gè)方法所能比擬的,又不愿意馬馬虎虎的隨便應(yīng)付的寫作,還是保持一貫的一步步深入的講解,所以就提前發(fā)布了一篇,以減少篇幅。

正文

這篇是講Glide源碼中into方法的實(shí)現(xiàn)原理,可以說(shuō)with和load方法只是做了前期的初始化配置工作,而真正意義上的圖片加載就是在into方法中實(shí)現(xiàn)的,所以該方法的復(fù)雜程度是可以想象的,還是依照我之前的寫作習(xí)慣,一步步的分析,不留下任何的盲點(diǎn)給大家?guī)?lái)困惑,那么下面就開(kāi)始吧。

Glide 源碼分析

into()

前面兩個(gè)方法把所需的基礎(chǔ)配置基本已做好,那么接下來(lái)就是真正的要去加載資源了,那么我們來(lái)看看吧:

首先進(jìn)去into方法中:

public Target<TranscodeType> into(ImageView view) {
    Util.assertMainThread();
    Preconditions.checkNotNull(