Glide是一个快速高效的Android图片加载库,支持拉取,解码和展示视频快照,图片,和GIF动画。提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline ),以及自动的资源池技术。
依赖
dependencies {
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
}
权限
在AndroidManifest.xml添加网络和读写权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
常用方法
1.基本用法load()
Glide.with(context)
.load(url)
.into(imageView);
2.取消加载clear()
Glide.with(context).clear(imageView);
3.加载带有占位图placeholder()
Glide.with(context).load(url).placeholder(R.drawable.loading).into(imageView);
4.设置加载错误占位符error()
Glide.with(context).load(url).error(R.drawable.error).into(imageView);
5.设置磁盘缓存diskCacheStrategy()
Glide.with(context).load(url)
.diskCacheStrategy(DiskCacheStrategy.NONE)//关闭Glide的硬盘缓存机制
.into(imageView);
//DiskCacheStrategy.NONE: 表示不缓存任何内容。
//DiskCacheStrategy.SOURCE: 表示只缓存原始图片。
//DiskCacheStrategy.RESULT: 表示只缓存转换过后的图片(默认选项)。
//DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
6.设置内存缓存机制skipMemoryCache()
Glide.with(context)
.load(url)
.skipMemoryCache(true) //传入参数为false时,则关闭内存缓存。
.into(imageView);
7.重写图片大小override()
Glide.with(context)
.load(url)
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.override(100, 100)//指定图片大小
.into(imageView);
8.预加载preload()
Glide.with(context)
.load(url)
.preload();
|