Glide是一个图片加载的框架,功能比较强大,一般加载图片,我就会用这个框架。下面介绍一下基本用法。整理了郭霖大神的博客,想看详细的可以去看http://blog.csdn.net/guolin_blog/article/details/53759439
开始
以Glide 3.7.0版本为例
首先在我们的项目app/build.gradle文件当中添加如下依赖:
dependencies {
compile 'com.github.bumptech.glide:glide:3.7.0'
}
然后在AndroidManifest.xml中声明一下网络权限
<uses-permission android:name="android.permission.INTERNET" />
基本用法
Glide.with(this).load(url).into(imageView);
with()方法可以接收Context、Activity、Fragment、ApplicationContext类型的参数。注意这些参数会决定Glide加载图片的生命周期,如果传入的是Activity或者Fragment的实例,那么当这个Activity或Fragment被销毁的时候,图片加载也会停止。如果传入的是ApplicationContext,那么只有当应用程序被杀掉的时候,图片加载才会停止。
load()方法除了加载网络图片URL外,还可以加载以下几种:
// 加载本地图片
File file = new File(getExternalCacheDir() + "/image.jpg");
Glide.with(this).load(file).into(imageView);
// 加载应用资源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);
// 加载二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);
// 加载Uri对象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);
into()就是对于显示图片的ImageView
其他用法
Glide.with(this)
.load(url)
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.override(100, 100)
.into(imageView);
placeholder:用来加载占位图
error:加载失败时显示的图片
override:设置图片大小
asBitmap():指定只加载静态图片
asGif():指定只加载gif图片
diskCacheStrategy:设置缓存参数
缓存参数说明
DiskCacheStrategy.NONE:不缓存任何图片,即禁用磁盘缓存
DiskCacheStrategy.ALL :缓存原始图片 & 转换后的图片(默认)
DiskCacheStrategy.SOURCE:只缓存原始图片(原来的全分辨率的图像,即不缓存转换后的图片)
DiskCacheStrategy.RESULT:只缓存转换后的图片(即最终的图像:降低分辨率后 / 或者转换后 ,不缓存原始图片