Glide 3.7.0 使用隨筆
阿新 • • 發佈:2019-01-08
使用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有磁碟快取,下次進入時,也不會消耗流量;