原始碼閱讀 Glide原始碼閱讀之load方法(二)

2021-09-03 00:07:10 字數 2868 閱讀 8835

【原始碼閱讀】glide原始碼閱讀之load方法(二)

【原始碼閱讀】glide原始碼閱讀之into方法(三)

首先,load方法有以下幾個過載方法:

public requestbuilder

load

(@nullable bitmap bitmap)

public requestbuilder

load

(@nullable drawable drawable)

public requestbuilder

load

(@nullable string string)

public requestbuilder

load

(@nullable uri uri)

public requestbuilder

load

(@nullable file file)

public requestbuilder

load

(@rawres

@drawableres

@nullable integer resourceid)

public requestbuilder

load

(@nullable

byte

model)

public requestbuilder

load

(@nullable url url)

public requestbuilder

load

(@nullable object model)

我們發現,呼叫的都是 asdrawable().load(model)方法,再來看看asdrawable方法

public requestbuilder

asdrawable()

public

requestbuilder

as(@nonnull class

resourceclass)

我們可以看到,這裡建立了乙個requestbuilder,並且指定了resourcetype為drawable,同理的還有asfile、asgif、asbitmap方法

public requestbuilder

asfile()

public requestbuilder

asgif()

public requestbuilder

asbitmap()

接著,我們再看requestbuilder的load方法

public requestbuilder

load

(@nullable string string)

public requestbuilder

load

(@nullable drawable drawable)

public requestbuilder

load

(@nullable bitmap bitmap)

public requestbuilder

load

(@nullable uri uri)

public requestbuilder

load

(@nullable file file)

public requestbuilder

load

(@rawres

@drawableres

@nullable integer resourceid)

public requestbuilder

load

(@nullable url url)

public requestbuilder

load

(@nullable

byte

model)if(

!result.requestoptions.

isskipmemorycacheset()

)return result;

}

可以看到,最後呼叫的都是loadgeneric方法,來看看loadgeneric的原始碼

private requestbuilder

loadgeneric

(@nullable object model)

public requestbuilder

(@nonnull requestoptions requestoptions)

public requestbuilder

transition

(@nonnull transitionoptions<?,

?super transcodetype> transitionoptions)

public requestbuilder

listener

(@nullable requestlistener

requestlistener)

public requestbuilder

addlistener

(@nullable requestlistener

requestlistener)

this

.requestlisteners.

add(requestlistener);}

return

this;}

public requestbuilder

error

(@nullable requestbuilder

errorbuilder)

原始碼閱讀 Glide原始碼閱讀之with方法(一)

前言 本篇基於4.8.0版本 原始碼閱讀 glide原始碼閱讀之with方法 一 原始碼閱讀 glide原始碼閱讀之load方法 二 原始碼閱讀 glide原始碼閱讀之into方法 三 大多數情況下,我們使用glide 就一句 但是這一句 裡面蘊含著成噸的 with方法有以下幾個過載方法 publi...

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...

global原始碼閱讀

2 編譯安裝 configure prefix your install dir make make install 3 使用時注意先gtags後htags,如果直接執行htags會提示找不到gtags。如果是在普通使用者許可權安裝global,比如 prefix work yourname usr...