Glide 的简单介绍
Glide 是一款图片加载框架,Glide 使得我们在加载图片时,变得更加容易高效。
Glide 的简单使用
1.在build.gradle 中配置
dependencies {
compile 'com.github.bumptech.glide:glide:3.7.0'
}
2.glide 的使用方式:
Glide.with(this).load(resource).into(imageView);
是的,就是这么简单, 其中的 with() 代表的是 图片加载环境 在这里可以是 Context对象 、Activity对象 、FragmentActivity对象 、Fragment对象
,
load() 中放的是资源, 资源可以是:drawable资源 、本地File文件 uri 、网络图片 url 、byte 数组(可以直接加载GIF图片)
into() 中放入需要显示的 imageview 组件。
Glide 的其他属性
.placeholder() 图片占位符
.error() 图片加载失败时显示
.crossFade() 显示图片时执行淡入淡出的动画默认300ms
.dontAnimate() 不执行显示图片时的动画
.override() 设置图片的大小
.centerCrop() 和 fitCenter() 图片的显示方式
.animate() view动画 2个重构方法
.transform() bitmap转换
.bitmapTransform() bitmap转换。比如旋转,放大缩小,高斯模糊等(当用了转换后你就不能使用.centerCrop()或.fitCenter()了。)
.priority(Priority.HIGH) 当前线程的优先级
.signature(new StringSignature(“ssss”))
.thumbnail(0.1f) 缩略图,3个重构方法:优先显示原始图片的百分比(10%)
.listener() 异常监听
.into() 图片加载完成后进行的处理:1,ImageView对象。2,宽高值。3,Target对象
Glide 的缓存
Glide 默认是使用缓存功能的,那么,要怎样才能让glide 不缓存呢?.skipMemoryCache(true)
禁止内存缓存 .diskCacheStrategy(DiskCacheStrategy.NONE)
禁止磁盘缓存
Glide 清除缓存的使用方式
清除内存缓存:
// 必须在UI线程中调用
Glide.get(context).clearMemory();
清除磁盘缓存
// 必须在后台线程中调用,建议同时clearMemory()
Glide.get(applicationContext).clearDiskCache();
需要注意的是,内存缓存的清除需要在UI 线程中进行,磁盘缓存却需要在 后台的线程中去清除:
Glide 加载 gif 图片:
当 load() 中的资源是 gif 格式的图片时,glide 一般默认也是自动显示为gif 图片的,如果你不确定 ,可是使用 .asGif()
将图片强制转换为 gif 图片
同样的,如果你不想显示 gif 图片,可以使用 .asBitmap()
将 gif 图片强制转换为普通的图片进行显示。
Glide 还 支持显示本地视频
String filePath = "本地视频地址";
Glide
.with( context )
.load( Uri.fromFile( new File( filePath ) ) )
.into( imageViewGifAsBitmap );
需要注意的是。Glide 目前只支持本地视频。暂时不支持网络视频。
这里推荐一个 glide 的相关库,https://github.com/wasabeef/glide-transformations
这个库 使得glide 对图片进行了裁剪、 模糊等相关的处理。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。