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() {
                @Override
                public void onResourceReady(GlideDrawable resource, GlideAnimation glideAnimation) {

                }
 });

如果你需要这个图片的bitmap
可以这么玩

Glide.with(context)
.load(imageUrl)
.asBitmap()
.into(new SimpleTarget() {
        @Override
        public void onResourceReady(Bitmap resource, GlideAnimation 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有磁盘缓存,下次进入时,也不会消耗流量;

你可能感兴趣的:(Glide 3.7.0 使用随笔)