BitmapFun
Picasso
著名的Square公司开源的众多项目中的一个,除了实现了图片的下载和二级缓存,还解决了一些问题:
在adapter中正常的处理imageview回收和下载的取消。
使用尽量小的内存实现复杂的图像变换。
Glide
Glide是Google推荐的用于Android平台的图片加载和缓存函数库。
Glide和Picasso有90%的相似度。
Glide为包含图片的滚动列表做了尽可能流畅的优化。
除了静态图片,Glide也支持GIF格式图片的显示。
Glide提供了灵活的API可以让开发者方便的替换图片所用的网络函数库,默认情况下,它使用HttpUrlConnection作为网络请求模块,开发者也可以根据自己项目实际需求灵活使用Google的Volley或者Square的OkHttp等函数库。
Fresco
Fecebook开源的功能强大的图片加载和缓存函数库,相比其他缓存库,Fresco最显著的特点是具有三级缓存:两级内存缓存和一级磁盘缓存
主要特性:
渐进式地加载JPEG图片。
显示GIF和WebP动画
可扩展,可自定义的图片加载和显示
在Android4.x和以下的系统上,将图片放在Android内存一个特殊的区域,从而使得应用运行更流畅,同时极大减低出现OutOfMemoryError的错误。
Android-Unicersal-Image-Loader
简称UIL,是Android平台老牌的图片加载和缓存函数库。
功能强大灵活且高度可自定义,他提供一系列配置选项,并能很好地控制图片加载和缓存过程。
它的主要特性:
1.同步或者异步的多线程图片加载
2.高度可自定义:线程池,下载器,解码器,内存和磁盘缓存,图片显示选项等
3.每张图片的显示支持多种自定义选项:默认存根图片,缓存切换,解码选项,Bitmap,处理和显示等。
4.图片可缓存在内存或磁盘上。
5.可实时监听图片加载流程,包括下载进度。
Fresco(3.4M)>Glide(475KB)>Android-Unicersal-Image-Loader(162KB)>Picasso(120KB)>BitmapFun(71KB)