universalimageloader是用于加載圖檔的一個開源項目,universalimageloader是實作異步加載大量圖檔的源碼和例子,包括緩存、硬碟緩存、容錯機制等技術。在其項目介紹中是這麼寫的,
支援多線程圖檔加載;
提供豐富的細節配置,比如線程池大小,htpp請求項,記憶體和磁盤緩存,圖檔顯示時的參數配置等等;
提供雙緩存;
支援加載過程的監聽;
提供圖檔的個性化顯示配置接口;
widget支援;
要使用imageloader就要到這裡下載下傳jar包:
然後導入項目中去就行了。
displayimageoptions options,圖檔的參數配置對象,
options = new
displayimageoptions.builder()
.showstubimage(r.drawable.stub_image)
.showimageforemptyuri(r.drawable.image_for_empty_url)
.cacheinmemory()
.cacheondisc()
.build();
第一個是圖檔加載過程中顯示的圖檔,第二個是圖檔加載失敗時用的的圖檔,第三個允許記憶體緩存,第四個允許磁盤緩存。除此之外還有兩個,imagescaletype(imagescaletype
imagescaletype)圖檔縮放類型,displayer(bitmapdisplayer
displayer)bitmap顯示控制層,可以在顯示圖檔前對bitmap簡單處理一下,這兩個不是一定要設定,應為他們都有預設值。
最後一個參數imageloadinglistener
listener當然是監聽過程的回調接口。
通過imageloader執行個體對象,調用 public void displayimage(string uri, imageview
imageview, displayimageoptions options, imageloadinglistener listener)
方法将開始加載圖檔。
工作線程: loadanddisplayimagetask displayimagetask = new
loadanddisplayimagetask(configuration, imageloadinginfo, new
handler());
詳細的可以參考“參考資料連結”,這裡不做詳細的說明。
參考資料連結:
圖檔加載架構---universalimageloader使用(一):
圖檔加載架構--imageloader實作(二):
開源項目之universalimageloader(異步加載大量圖檔):
android開源架構imageloader的完美例子:
代碼下載下傳連結: