Picasso是不支持加载GIF图片的!!!
依赖
dependencies {
compile 'com.github.bumptech.glide:glide:3.7.0'
}
网络权限
<uses-permission android:name="android.permission.INTERNET" />
http://www.cndog.net/tpb/2013-12/14/14970-6031.jpg
基础用法:
Glide.with(this).load(url).into(imageView);
// 加载本地图片
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);
占位图
Glide.with(this)
.load(url)
.placeholder(R.drawable.loading)
.into(imageView);
Glide禁用缓存功能(硬盘缓存:LruCache算法 Google提供了一个现成的工具类DiskLruCache)
.diskCacheStrategy(DiskCacheStrategy.NONE)
DiskCacheStrategy.NONE: 表示不缓存任何内容。
DiskCacheStrategy.SOURCE: 表示只缓存原始图片。
DiskCacheStrategy.RESULT: 表示只缓存转换过后的图片(默认选项)。
DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
禁用内存缓存(内存缓存是通过LruCache算法+弱引用)
.skipMemoryCache(true)
这样我们就将Glide硬盘缓存的实现原理也分析完了。虽然这些源码看上去如此的复杂,但是经过Glide出色的封装,使得我们只需要通过skipMemoryCache()和diskCacheStrategy()这两个方法就可以轻松自如地控制Glide的缓存功能了。
Glide异常占位图
.error(R.drawable.error)
//gif图:http://p1.pstatp.com/large/166200019850062839d3
load()方法的后面加入了一个asBitmap()方法,这里只允许加载静态图片,不需要Glide去帮我们自动进行图片格式的判断了。
asGif():强制加载gif图
.override(100, 100)
Glide现在只会将图片加载成100*100像素的尺寸,而不会管ImageView的大小是多少。
缩略图: .thumbnail(0.1f) 原图的1/10作为缩略图先显示,然后显示原图
对图片进行裁剪、模糊、滤镜等处理:
依赖:
compile 'jp.wasabeef:glide-transformations:2.0.0'
依赖
dependencies {
compile 'com.github.bumptech.glide:glide:3.7.0'
}
网络权限
<uses-permission android:name="android.permission.INTERNET" />
http://www.cndog.net/tpb/2013-12/14/14970-6031.jpg
基础用法:
Glide.with(this).load(url).into(imageView);
// 加载本地图片
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);
占位图
Glide.with(this)
.load(url)
.placeholder(R.drawable.loading)
.into(imageView);
Glide禁用缓存功能(硬盘缓存:LruCache算法 Google提供了一个现成的工具类DiskLruCache)
.diskCacheStrategy(DiskCacheStrategy.NONE)
DiskCacheStrategy.NONE: 表示不缓存任何内容。
DiskCacheStrategy.SOURCE: 表示只缓存原始图片。
DiskCacheStrategy.RESULT: 表示只缓存转换过后的图片(默认选项)。
DiskCacheStrategy.ALL : 表示既缓存原始图片,也缓存转换过后的图片。
禁用内存缓存(内存缓存是通过LruCache算法+弱引用)
.skipMemoryCache(true)
这样我们就将Glide硬盘缓存的实现原理也分析完了。虽然这些源码看上去如此的复杂,但是经过Glide出色的封装,使得我们只需要通过skipMemoryCache()和diskCacheStrategy()这两个方法就可以轻松自如地控制Glide的缓存功能了。
Glide异常占位图
.error(R.drawable.error)
//gif图:http://p1.pstatp.com/large/166200019850062839d3
load()方法的后面加入了一个asBitmap()方法,这里只允许加载静态图片,不需要Glide去帮我们自动进行图片格式的判断了。
asGif():强制加载gif图
.override(100, 100)
Glide现在只会将图片加载成100*100像素的尺寸,而不会管ImageView的大小是多少。
缩略图: .thumbnail(0.1f) 原图的1/10作为缩略图先显示,然后显示原图
对图片进行裁剪、模糊、滤镜等处理:
依赖:
compile 'jp.wasabeef:glide-transformations:2.0.0'