Glide简介
An image loading and caching library for Android focused on smooth scrolling
一个专注于流畅滑动的图片加载和缓存库
优势
其实现在,图片加载和缓存的库已经超级多了,Glide
是目前谷歌官方推荐的加载库,它有一个比较牛的特点就是支持GIF格式的图片播放,目前的人气也超级高!!另外还可以设置渐变的加载效果,控制相关缓存策略等!以下就围绕这些做一些具体的介绍!
引入库
1 2 3 4 5 6 7 8 |
repositories { mavenCentral() // jcenter() works as well because it pulls from Maven Central } dependencies { compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.android.support:support-v4:19.1.0' } |
如果你的网络请求底层使用了Okhttp
的话,那么可以指定这个让Glide
网络层使用Okhttp
。
1 2 3 4 5 6 7 8 9 |
dependencies { compile 'com.github.bumptech.glide:okhttp-integration:1.4.0@aar' //compile 'com.squareup.okhttp:okhttp:2.2.0' } dependencies { compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar' //compile 'com.squareup.okhttp3:okhttp:3.2.0' } |
AndroidManifest
里面加入相关的配置:
1 2 3 |
<meta-data android:name="com.bumptech.glide.integration.okhttp.OkHttpGlideModule" android:value="GlideModule" /> |
基本的加载
1 2 3 |
Glide.with(image.getContext()) .load(imageUrl) .into(image); |
.crossFade()
来指定一个渐变的效果:
1 2 3 4 5 6 |
Glide.with(image.getContext()) .load(imageUrl) .error(R.mipmap.girl) .placeholder(R.mipmap.ic_launcher) .crossFade(R.anim.fade_out_rapidly, 5000) .into(image); |
一般使用到这这里就差不多了吧,不过要是觉得Glide就这样了那可真的是太对不住Glide了!
进阶-缓存策略:
Glide
默认会使用磁盘缓存和内存缓存的,你可以根据喜好和相关的使用场景定制相关的策略。
skipMemoryCache()
跳过内存缓存,这个默认就是false。如果不需要就设置为true来确保不会缓存到内存中。
diskCacheStrategy()
磁盘缓存策略,Glide
支持很多种图片缓存策略。
DiskCacheStrategy.RESOURCE
只缓存原始文件
DiskCacheStrategy.ALL
缓存所有size的图片和源文件
DiskCacheStrategy.RESULT
缓存最后的结果文件
DiskCacheStrategy.NONE
撒都不缓存
在V3的版本默认是DiskCacheStrategy.RESULT
的策略。
进阶-转换
1 2 |
asBitmap() //总是将其转换为Bitmap的对象 asGif() //总是将其转换为gi的对象,但是如果它不是gif的,那么就会转换失败,所以最好要设置一个error()的对象 |
另外Glide提供了相关的方法,你可以自定义相关的 Transformation
,来完成相关的转换!
这里一共有两个方法,一个是transform()
,一个是getId()
,如果说我们需要完成一些自己的需求,比如说,你需要加载出圆形的图片,这里简单有效的方法就是直接设置一个CirCleTransform
就好了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 -num" data-line="crayon-58128402c36f4754019983-23">23 24 25 26 27 >
优势其实现在,图片加载和缓存的库已经超级多了, 引入库
如果你的网络请求底层使用了
配置这个话,还需要在
AndroidManifest 里面加入相关的配置:
基本的加载
在这个的基础之上,设置默认显示的图片,设置加载错误的图片,设置渐变效果
.crossFade() 来指定一个渐变的效果:
一般使用到这这里就差不多了吧,不过要是觉得Glide就这样了那可真的是太对不住Glide了! 进阶-缓存策略:
在V3的版本默认是 进阶-转换
另外Glide提供了相关的方法,你可以自定义相关的
|