首页 > 学院 > 开发设计 > 正文

四大图片缓存对比

2019-11-06 09:41:08
字体:
来源:转载
供稿:网友

Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用。

Picasso 是 Square 开源的项目,且他的主导者是 JakeWharton,所以广为人知。

Glide 是 Google 员工的开源项目,被一些 Google App 使用,在去年的 Google I/O 上被推荐,不过目前国内资料不多。

Fresco 是 Facebook 在今年上半年开源的图片缓存

共同优点

 1. 使用简单。都可以通过一句代码可实现图片获取和显示。

 2. 可配置度高,自适应程度高。图片缓存的下载器(重试机制)、解码器、显示器、处理器、内存缓存、本地缓存、线程池、缓存算法等大都可轻松配置。自适应程度高,根据系统性能初始化缓存配置、系统信息变更后动态调整策略。

比如根据 CPU 核数确定最大并发数,根据可用内存确定内存缓存大小,网络状态变化时调整最大并发数等。

 3. 多级缓存。都至少有两级缓存、提高图片加载速度。

 4. 支持多种数据源。支持多种数据源,网络、本地、资源、Assets 等

 5. 支持多种 Displayer。不仅仅支持 ImageView,同时支持其他 View 以及虚拟的 Displayer 概念。

区别

ImageLoader 的功能以及代理容易理解长度都一般。

Picasso 代码虽然只在一个包下,没有严格的包区分,但代码简单、逻辑清晰,一两个小时就能叫深入的了解完。

Glide 功能强大,但代码量大、流转复杂。在较深掌握的情况下才推荐使用,免得出了问题难以下手解决。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表