图片加载在 Android开发项目中是必不可少的,为了下降开发周期和难度,咱们常常会选用一些图片加载的开源库,而Android发展到如今图片加载开源库也愈来愈多了,下面介绍几种开发中主流的图片加载框架&以及他们之间的对比优缺点。html
Picasso
中文翻译为'毕加索',由Square公司开源的一个适用于Android的强大图像下载和缓存库.git
功能介绍github
图片的异步加载(最基础功能)segmentfault
使用最少的内存完成复杂的图片转换,转换图片以适合所显示的ImageView,来减小内存消耗缓存
支持加载过程当中和加载错误时显示对应图片网络
在Adapter中的回收不在视野的ImageView和取消已经回收的ImageView下载进程并发
支持加载多种数据源 网络、本地、资源、Assets 等框架
自动添加磁盘和内存二级缓存功能异步
支持优先级处理ide
支持飞行模式、并发线程数根据网络类型而变
Picasso 没有实现本地缓存功能,交给了 Square 的另一个网络库 okhttp 去实现,这样的好处是能够经过请求 Response Header 中的 Cache-Control 及 Expired 控制图片的过时时间。
优势以下:
缺点以下:
Glide
是由Google开源的一个图片加载库,是一款快速高效的Android开源媒体管理和图像加载框架,它将媒体解码,内存和磁盘缓存以及资源池包装成简单易用的界面.
功能介绍
图片的异步加载(基础功能)
支持设置加载尺寸、设置加载中以及加载失败图片、设置加载动画、设置图文混排
多样式的媒体加载(设置缩略图支持:先加载缩略图 而后在加载全图)
支持设置磁盘缓存策略、设置跳过内存缓存、清理缓存
生命周期集成(然而仍是有bug)
与其余开源库对比
优势以下:
缺点以下:
Fresco
是由Facebook开源的用于管理图像及其使用内存的Android库
具体功能请前往官方文档查看
优势以下
缺点以下:
至此Android 中主流的三大图片加载框架就介绍完毕了,感谢阅读
欢迎关注做者darryrzhong,更多干货等你来拿哟.
更多精彩文章请关注