Glide:
功能特點(diǎn):
1咱士,圖片異步加載立由,設(shè)置加載尺寸,設(shè)置加載動(dòng)畫序厉,設(shè)置加載中和加載失敗的圖片锐膜,加載的圖片格式豐富:JPG,PNG弛房,GIF道盏,WEBP支持設(shè)置縮略圖 ;
2,加載的圖片路徑多種:網(wǎng)絡(luò)本地資源assets等荷逞;
3牺堰,緩存特點(diǎn):跳過內(nèi)存緩存,緩存動(dòng)態(tài)清理颅围,設(shè)置緩存策略伟葫;
4,其他特點(diǎn):生命周期集成院促,設(shè)置動(dòng)態(tài)轉(zhuǎn)換筏养,設(shè)置下載優(yōu)先級(jí);
優(yōu)點(diǎn):
1常拓,使用簡(jiǎn)單渐溶,可配置度高,自適應(yīng)程度高弄抬;
2茎辐,多樣化媒體加載:Glide不僅是一個(gè)圖片緩存,支持常見的圖片格式j(luò)pg png gif webp掂恕;
3拖陆,生命周期集成:根據(jù)Activity/fragment生命周期自動(dòng)管理請(qǐng)求將Activity/Fragment作為with()參數(shù)的好處是:圖片加載會(huì)和Activity/Fragment的生命周期保持一致,比如Paused狀態(tài)在暫停加載懊亡,在Resumed的時(shí)候又自動(dòng)重新加載依啰;
4,高效的緩存策略:
(1)支持Memory和Disk圖片緩存店枣;
(2)Picasso緩存的是全尺寸的速警,而Glide緩存的是跟ImageView尺寸相同的;
(3)內(nèi)存開銷小,Glide加載的圖片質(zhì)量要差于Picasso鸯两,因?yàn)镚lide默認(rèn)的Bitmap格式是RGB_565 闷旧,比ARGB_8888格式的內(nèi)存開銷要小一半;
(4)高效處理bitmap钧唐,使用bitmap pool使bitmap復(fù)用忙灼,主動(dòng)調(diào)用recycle回收需要回收的bitmap,減少系統(tǒng)回收壓力逾柿;
(5)圖片緩存->媒體緩存缀棍;
(6)支持優(yōu)先級(jí)處理;
(7)支持 okhttp机错、Volley爬范;
缺點(diǎn)
1,使用方法復(fù)雜弱匪;
2青瀑,由于Glide其功能強(qiáng)大璧亮,所以使用的方法非常多,其源碼也相對(duì)的復(fù)雜斥难;
3枝嘶,包較大;
Fresco
功能特點(diǎn):
1哑诊,兩個(gè)內(nèi)存緩存加上本地緩存構(gòu)成了三級(jí)緩存群扶;
2,漸進(jìn)式呈現(xiàn)圖片镀裤;
3竞阐,支持加載的Gif圖和WebP的格式;
優(yōu)點(diǎn):
1暑劝,內(nèi)存自動(dòng)回收骆莹。圖片不可見時(shí),會(huì)及時(shí)自動(dòng)釋放所占用的內(nèi)存担猛,盡可能地避免OOM 幕垦;
2,三級(jí)緩存機(jī)制傅联。兩級(jí)內(nèi)存緩存(解碼的與未解碼的)+一級(jí)磁盤緩存先改,提升加載速度,節(jié)省內(nèi)存占用空間 纺且;
3盏道,支持各種加載場(chǎng)景稍浆。如動(dòng)圖加載载碌,高斯模糊等常見的圖片加載場(chǎng)景。另外還提供了獨(dú)特的漸進(jìn)式加載衅枫,先加載小圖再加載大圖嫁艇,加載進(jìn)度等功能(很強(qiáng)大) ;
缺點(diǎn):
1弦撩,框架較大步咪,影響Apk體積 ;
2益楼,侵入性較強(qiáng)猾漫。須使用它提供的SimpleDraweeView來(lái)代替ImageView的加載顯示圖片;
Picasso
功能特點(diǎn):
1感凤、Picasso是全尺寸下載圖片悯周;
2、Picasso默認(rèn)的緩存格式為ARGB_888陪竿;
3禽翼、鏈?zhǔn)秸{(diào)用,使用簡(jiǎn)單;
4闰挡、具有一般圖片框架的基礎(chǔ)功能锐墙;
5、方便的圖片轉(zhuǎn)換长酗;(圖片高斯模糊溪北,添加圓角,做度灰處理夺脾,圓形圖片)刻盐;
6、加載過程監(jiān)聽和錯(cuò)誤處理劳翰;
7敦锌、自動(dòng)添加磁盤和內(nèi)存二級(jí)緩存;
8佳簸、支持多種數(shù)據(jù)源加載乙墙;
9、Picasso默認(rèn)不支持Gif圖片加載生均。Picasso庫(kù)很小听想,類也很少,庫(kù)僅118KB大新黼省汉买;
10、Picasso支持調(diào)試和日志佩脊;