Glide 不能说的秘密

651 查看

Glide简介

An image loading and caching library for Android focused on smooth scrolling
一个专注于流畅滑动的图片加载和缓存库

优势

其实现在,图片加载和缓存的库已经超级多了,Glide是目前谷歌官方推荐的加载库,它有一个比较牛的特点就是支持GIF格式的图片播放,目前的人气也超级高!!另外还可以设置渐变的加载效果,控制相关缓存策略等!以下就围绕这些做一些具体的介绍!

引入库

如果你的网络请求底层使用了Okhttp的话,那么可以指定这个让Glide网络层使用Okhttp

配置这个话,还需要在AndroidManifest里面加入相关的配置:

基本的加载

在这个的基础之上,设置默认显示的图片,设置加载错误的图片,设置渐变效果.crossFade()来指定一个渐变的效果:

一般使用到这这里就差不多了吧,不过要是觉得Glide就这样了那可真的是太对不住Glide了!


进阶-缓存策略:

Glide默认会使用磁盘缓存和内存缓存的,你可以根据喜好和相关的使用场景定制相关的策略。

skipMemoryCache()跳过内存缓存,这个默认就是false。如果不需要就设置为true来确保不会缓存到内存中。

diskCacheStrategy() 磁盘缓存策略,Glide支持很多种图片缓存策略。

DiskCacheStrategy.RESOURCE 只缓存原始文件

DiskCacheStrategy.ALL 缓存所有size的图片和源文件

DiskCacheStrategy.RESULT 缓存最后的结果文件

DiskCacheStrategy.NONE 撒都不缓存

在V3的版本默认是DiskCacheStrategy.RESULT的策略。

进阶-转换

另外Glide提供了相关的方法,你可以自定义相关的 Transformation,来完成相关的转换!
这里一共有两个方法,一个是transform(),一个是getId(),如果说我们需要完成一些自己的需求,比如说,你需要加载出圆形的图片,这里简单有效的方法就是直接设置一个CirCleTransform就好了: