Glide 简单使用1分钟速查

这是对Glide使用的一个最简单的梳理,从 这里 Glide 开始 总结而来。

引入依赖

compile 'com.github.bumptech.glide:glide:3.6.1'

使用

Glide
 .with(Context)
 .load(url或者ResId)
 .placeHolder(占位图)
 .error(加载错误时显示的图片)
 .crossFade(int duration) 淡入淡出动画
 .dontAnimate() 直接显示图片无动画
 .override(600,200)图片显示到imageView之前重新改变图片大小
 .centerCrop() centerCrop方式显示到ImageView
 .fitCenter() fitCenter方式显示到ImageView 
 .into(ImageView)  显示到ImageView

支持gif图

 .load()
 .asGif()如果url不是gif图会当做错误处理
 .asBitmap()作为常规图片显示,如果是gif图则显示第一帧

支持显示本地视频

 .load()本地视频的路径即可

缓存策略:内存+磁盘+网络

 .skipMemoryCache(true)跳过内存缓存,不把图片放到内存缓存中
 .diskCacheStrategy(DiskCacheStrategy.NONE) 跳过磁盘缓存
 Glide缓存了原始图像、全分辨率和小版本的图像
 DiskCacheStrategy.NONE 什么都不缓存
 DiskCacheStrategy.SOURCE 只缓存全分辨率的图片
 DiskCacheStrategy.RESULT 缓存最终的图片(降低分辨率或转换后的)
 DiskCacheStrategy.ALL 缓存所有图像(默认)

图片请求的优先级

 .priority() 枚举Priority.Low、NORMAL、HIGH、IMMEDIATE优先级递增

缩略图

 .thumbnail(0.1f)显示原始图10%大小的缩略图,可以传一个Glide请求作为参数

回调 SimpleTarget和ViewTarget用于自定义视图类 不要使用匿名内部类

 .asBitmap()  最好强制返回bitmap
 .into(SimpleTarget) 回调Bitmap到SimpleTarget,可以指定bitmap尺寸
 .into(ViewTarget) 回调一个GlideDrawable给自定义的View

生命周期

 .with(Context) 如果是activity,则activity停止的时候Glide会自动停止请求

加载图片到通知栏和widget中

 .into(NotificationTarget)
 .into(AppWidgetTarget)

调试使用adb命令

  adb shell setprop log.tag.GenericReuqest DEBUG

异常处理 不要使用匿名内部类

 .listener(RequestListener) RequestListener.onException 返回false .error才会显示

转换 Transformation,BitmapTransformation等

 .transform(Transformation) 转换的库实现了很多种转换 https://github.com/wasabeef/glide-transformations

自定义动画

 .animate() 传入动画资源id或动画类实现

ViewPropertyAnimation.Animator 接口

集成网络库

 Glide实现了两个网络库集成 OKHttp 和Volley
 compile 'com.github.bumptech.glide:okhttp-integration:1.3.1@aar'
 compile 'com.github.bumptech.glide:volley-integration:1.3.1@aar'

用Modeule自定义Glide

 略过

这里只是一个速查,具体使用还是看 这里 Glide 开始。

你可能感兴趣的:(Glide 简单使用1分钟速查)