因為項目裡用的Glide的地方比較多,所有簡單的封裝了以下,其實也沒什麼,就是寫了個工具類,但是還是要把基礎說下
<a href="https://github.com/bumptech/glide">https://github.com/bumptech/glide</a>
Glide有三種內建的方式
1.JAR
<a href="https://github.com/bumptech/glide/releases">點選下載下傳Glide.jar</a>
Gradle(推薦)
首先需要在你model的build.gradle裡添加
然後在我們的app的build.gradle裡添加
這裡要注意的是Glide需要V4包的支援,V4包的版本根據你的開發環境來決定
Maven
Glide是在Picasso的基礎上進行改良的,我們來看下他最基礎的使用方法
其實很簡單,with裡支援的比Picasso多很多
Context
Activity
Fragment
FragmentActivity
lode是需要加載的圖檔位址,into是賦予的控件,當然還有很多其他的方法,我們等下說
使用簡單
可配置度高,自适應程度高
支援常見圖檔格式 Jpg png gif webp
支援多種資料源 網絡、本地、資源、Assets 等
高效緩存政策 支援Memory和Disk圖檔緩存 預設Bitmap格式采用RGB_565記憶體使用至少減少一半
生命周期內建 根據Activity/Fragment生命周期自動管理請求
高效處理Bitmap 使用Bitmap Pool使Bitmap複用,主動調用recycle回收需要回收的Bitmap,減小系統回收壓力
這裡預設支援Context,Glide支援Context,Activity,Fragment,FragmentActivity
政策分為:
all:緩存源資源和轉換後的資源
none:不作任何磁盤緩存
source:緩存源資源
result:緩存轉換後的資源
api也提供了幾個常用的動畫:比如crossFade()
api提供了比如:centerCrop()、fitCenter()等
設定監聽的用處 可以用于監控請求發生錯誤來源,以及圖檔來源 是記憶體還是磁盤
項目中有很多需要先下載下傳圖檔然後再做一些合成的功能,比如項目中出現的圖文混排
當然,我們後續肯定會功能越來越多的,我把項目開源在Github上了,為了使用起來友善自己封裝了下,同時也分享以下
有興趣的可以加入我的Android群:555974449,一起進步如何?