android Glide图片加载框架的初探
一、Glide图片加载框架的简介
谷歌2014年开发者论坛会上介绍的图片加载框架,它让我们在处理不管是网路下载的图片还是本地的图片,减轻了很多工作量,
二、开发步骤:
1、添加链接库
compile 'com.github.bumptech.glide:glide:3.7.0'
2、代码编写,主要特性
Glide.with(context) .load(imgUrl) .dontAnimate() .skipMemoryCache(true) .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.head_default) .error(R.drawable.head_default) .into(imageView);
》当加载网络上的图片时,imgUrl:为图片的地址
》当加载本地的图片时
Glide.with(context) // .load(imgUrl) .load(Uri.fromFile(new File(imgUrl)))
》当在网络上加载图片时,由于网络原因,图片未能及时显示,需要显示一个等待图片
.placeholder(R.drawable.head_default)
》当由于各种原因图片加载失败时,显示图片
.error(R.drawable.head_default)
》设置图片加载的动画
// .dontAnimate()//设置图片直接加载,不显示动画 .crossFade()//设置加载图片为淡入淡出
》设置图片的缩放方式
.centerCrop() .fitCenter()
注:
.centerCrop()让图片适应View的大小
.fitCenter()剪裁缩放,让图片的大小等于小于View的大小,有可能占不满View的大小
》设置图片的缓存
.skipMemoryCache(true)//跳过内存的缓存
.diskCacheStrategy( DiskCacheStrategy.NONE ) //跳过硬盘缓存
DiskCacheStrategy.NONE
什么都不缓存DiskCacheStrategy.SOURCE
仅仅只缓存原来的全分辨率的图像DiskCacheStrategy.RESULT
仅仅缓存最终的图像,即降低分辨率后的(或者是转换后的)DiskCacheStrategy.ALL
缓存所有版本的图像(默认行为)
》设置图片加载的优先级
.priority( Priority.HIGH ) Priority.LOW Priority.NORMAL Priority.HIGH Priority.IMMEDIATE
》加载GIF动画
.asGif() //判断加载的url资源是否为gif格式的资源
》显示图片
.into(imageView);