Glide

Posted by 程序亦非猿 on 2015-12-16

Glide

An image loading and caching library for Android focused on smooth scrolling

Glide专注于顺畅滑动的一个图片加载缓存库.

1
2
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.android.support:support-v4:19.1.0'

基本使用

与UIL的使用方式不同,Glide的API与Picasso类似,链式调用,非常舒服.

1
2
3
4
5
6
Glide.with(myFragment)
.load(url)
.centerCrop()
.placeholder(R.drawable.loading_spinner)
.crossFade()
.into(myImageView);

其他方法

混淆

1
2
3
4
5
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}

第一句是自定义GlideModule添加的混淆,具体可以看这里

优缺点

任何一款框架都有自己的优缺点,Glide也不例外.

优点:

  • 功能强大,能获取解析并显示视频预览图片(video stills?),图片,GIF.
  • 灵活、易用的API
  • 自带淡入淡出动画,比较美观
  • 可以与OKHttp Volley结合
  • 一般使用无需配置,立即上手
  • 响应Activity以及Fragment的生命周期,在stop时停止加载(已经启动的任务不能停止),onStart时继续加载
  • Item重用时会自动取消图片加载(所以滑动的时候才那么流畅)
  • 解决列表加载图片错乱问题

缺点:

  • 2882个方法相比较与UIL(1202)来说多了好多
  • 配置项少,而且配置麻烦,不像UIL那么多而方便
  • setTag方法被占用

小结:
正如Glide的口号所说,Glide对列表滑动做了很多优化,所以使得Glide在列表滑动的时候表现非常优秀.

推荐资料

Google推荐的图片加载库Glide介绍
android学习之路(一)–Glide学习
Glide的图片内存优化