結(jié)合我之前在不同項(xiàng)目中用過的開源組件/框架,以思維導(dǎo)圖的形式涉波,整理了部分組件的特點(diǎn)及其參考比較英上,希望能夠給需要的朋友提供一些幫助炭序。
先從圖片加載組件開始,后面計(jì)劃整理網(wǎng)絡(luò)苍日、數(shù)據(jù)等方面的開源組件惭聂,歡迎繼續(xù)關(guān)注。
文字版:
1相恃、UIL(Universal Image Loader)
1.1 簡介
1.1.1 Android平臺老牌的圖片下載和緩存函數(shù)庫
1.1.2 功能強(qiáng)大辜纲、靈活且高度可定義
1.1.3 提供了一系列的配置選項(xiàng)以控制圖片加載和緩存過程
1.2 特點(diǎn)
1.2.1 支持的特性
1.2.1.1 同步、異步的多線程圖片加載
1.2.1.2 可自定義線程池/下載器/解碼器/內(nèi)存和文件緩存/圖片顯示選項(xiàng)等
1.2.1.3 支持內(nèi)存緩存和文件緩存方式
1.2.1.4 可以實(shí)時(shí)監(jiān)聽圖片加載流程拦耐、下載進(jìn)度
1.2.1.5 根據(jù)控件大小對Bitmap進(jìn)行裁剪耕腾,減少Bitmap占用過多的內(nèi)存
1.2.2 可用性(是否方便):使用比較方便
1.2.3 技術(shù)支持
1.2.3.1 使用廣泛、資料豐富
1.2.3.2 目前作者已經(jīng)停止維護(hù)
1.2.4 函數(shù)庫體積:162KB左右
2 Picasso
2.1 簡介
2.1.1 Square公司開發(fā)杀糯,以畫家畢加索為名
2.1.2 支持圖片的加載和二級緩存功能
2.2 特點(diǎn)
2.2.1 支持的特性
2.2.1.1 在Adapter中取消不在視野的圖片加載操作扫俺,避免錯(cuò)位問題
2.2.1.2 使用復(fù)雜的圖片壓縮轉(zhuǎn)換來盡可能的減少內(nèi)存消耗
2.2.1.3 自帶內(nèi)存和硬盤二級緩存功能(依賴Okhttp)
2.2.1.4 支持請求優(yōu)先級
2.2.1.5 支持緩存調(diào)試操作
2.2.2 可用性(是否方便):使用非常方便
2.2.3 技術(shù)支持
2.2.3.1 使用廣泛、資料豐富
2.2.3.2 作者仍在維護(hù)
2.2.4 函數(shù)庫體積:120KB左右
3 二者比較
3.1 對于新項(xiàng)目特別是使用了Okhttp的火脉,推薦使用Picasso
3.2 如果舊項(xiàng)目使用了UIL組件牵舵,一般情況下沒有必要更換
4 關(guān)于Glide
4.1 Google官方的圖片加載庫
4.2 使用方便,和Picasso很相似
4.3 功能強(qiáng)大倦挂,不僅支持常見的jpg和png格式畸颅,還能顯示GIF動畫和視頻
4.4 圖片加載速度與內(nèi)存占用方面優(yōu)于Picasso
4.5 函數(shù)庫體積相對Picasso較大(440KB左右)