1. 程式人生 > >Glide 3.7.0 使用隨筆

Glide 3.7.0 使用隨筆

使用Glide的時候,可以搭配
jp.wasabeef:glide-transformations:2.0.2   伴侶

口感會更好
----------------------------------------------------------------------------------------------------------------------------------

 Glide.with(context)   //

.load(imageUrl)   //圖片路徑

.placeholder(R.drawable.no_img)  //載入的時候顯示的圖片(可顏色)

.error(R.drawable.no_img)  //載入錯誤顯示的圖片(可顏色)

//使用時,需要把dp轉px,dp轉px時,是根據螢幕畫素轉換的,所以不同手機,dp轉px的大小不同,會導致記憶體中圖片的大小,也不同;
.override(imageHeight,imageWidth)  //設定記憶體中圖片的大小(單位px)

.animate(R.anim.animation)//設定載入動畫

.dontAnimate() //移除所有動畫

.crossFade() //漸入漸出的動畫效果

//ImageView可能會完全填充,但影象可能不會完整顯示
.centerCrop()   //類似於 ImageView的 android:scaleType="centerCrop"

//該影象將會完全顯示,但可能不會填滿整個ImageView
.fitCenter()   ///類似於 ImageView的 android:scaleType="fitCenter"

//伴侶類
.bitmapTransform(new RoundedCornersTransformation(mContext, 5, 0)) //圓角(載入中圖片,和錯誤圖片時,不是圓角)

//伴侶類
.bitmapTransform(new CropCircleTransformation(mContext))    //圓形圖片

.into(image);  //圖片View

------------------------------------------------------------------------------------------------------------------------------------
Other use method:

如果使用的第三方圖片View ,比如 CircleImageView 時

可以在 into()這裡這麼使用:
 .into(new SimpleTarget<GlideDrawable>() {
                @Override
                public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {

                }
 });

如果你需要這個圖片的bitmap
可以這麼玩

Glide.with(context)
.load(imageUrl)
.asBitmap()
.into(new SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                            image.setImageBitmap(resource);
          }
 });


列表優化

//當列表在滑動的時候可以呼叫pauseRequests()暫停請求
Glide.with(context).pauseRequests();

//當列表滑動停止時可以呼叫resumeRequests()恢復請求
Glide.with(context).resumeRequests();

快取清理

//UI主執行緒中進行
Glide.get(this).clearMemory();

//子執行緒中執行
Glide.get(this).clearDiskCache();


使用注意

Glide.with()有5種方式
使用時,如果是在activity種,Glide.with(activity)
這樣使用的話,會讓glide跟隨 activity的生命週期

Glide 多使用 .override這個方法,可以有效的減少圖片佔用記憶體的大小

退出activity時, 建議使用  Glide.get(this).clearMemory(); 清理記憶體快取
Glide有磁碟快取,下次進入時,也不會消耗流量;