使用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有磁盘缓存,下次进入时,也不会消耗流量;
网友评论