glide

Google推荐的图片加载库,专注于流畅的滚动。

1.优点 
1)使用RGB_565,内存占用比Picasso小一半。 
2)图片展示和页面的生命周期一致(对context有类型要求) 
3)相比Picasso,Glide在缓存策略和加载GIF方面略胜一筹 
减少了缓存文件的大小 
Picasso和Glide在磁盘缓存策略上有很大的不同。Picasso缓存的是全尺寸的,而Glide缓存的是跟ImageView尺寸相同的。 这样在下次显示的时候不需要重新调整大小,显示的会更快。 
4)在页面不可见时停止网络请求,停止对图片的解析操作。 
5)专注于流畅的滚动 
6)当列表在滑动的时候,调用pauseRequests()取消请求,滑动停止时,调用resumeRequests()恢复请求。这样是不是会好些呢? 
7)支持当你想清除掉所有的图片加载请求时 
8)同时因为Glide和Activity/Fragment的生命周期是一致的,因此gif的动画也会自动的随着Activity/Fragment的状态暂停、重放。Glide 的缓存在gif这里也是一样,调整大小然后缓存。 
9)支持gif 
但是从我的一次测试结果来看Glide 动画会消费太多的内存,因此谨慎使用。 
10)Glide还可以将任何的本地视频解码成一张静态图片。 
11)使用glide,你可以配置图片显示的动画,而Picasso只有一种动画:fading in。 
12)可以使用thumbnail()产生一个你所加载图片的thumbnail。

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

3.性能分析 
比Picasso性能好一些。

4.风险(包大小等) 
包大小:1.3mb 
能否解决listview图片错位问题?可以

glide框架:点击打开链接

Picasso

1.优点 
1)picasso能够根据网络状态调整线程池的并发数量 
2)使用简单,源码简单易懂。Picasso 代码虽然只在一个包下,没有严格的包区分,但代码简单、逻辑清晰 
3)内部维护了一个监控类,能够实时反馈内存缓存的命中率,使用状态等等。

2.缺点 
1)ARGB_8888 
2)Picasso的方式则因为需要在显示之前重新调整大小而导致一些延迟,Glide加载显示更快。

3.性能分析

4.风险(包大小等) 
包大小:1.2mb 
能否解决listview图片错位问题?

Picasa框架:点击打开链接

fresco

Facebook出的,不是一般的强大。

1.优点 
1)使用了Native缓存(5.0以下,不包括5.0) 
2)支持模糊渐进形式展示图片(类似webView) 
3)能够根据View的展示状态控制网络请求和图片解析的状态(在页面不可见时停止对图片的网络请求和解析操作,在页面可见时恢复操作) 
4)对多帧动画图片支持更好(未测试) 
5)对外提供清除缓存的方法

2.缺点 
1)ARGB_8888 
2)体积较大,集成后增大apk体积 
3)需要使用特定的view,需要xml支持

3.性能分析

4.风险(包大小等) 
包大小:4mb 
能否解决listview图片错位问题?

fresco框架:点击打开链接

volley imageloader

1.优点

2.缺点 
Google官方出品,可惜不能加载本地图片~

3.性能分析

4.风险(包大小等)

Universal Image Loader

1.优点:这个应该是我们用的最多的图片加载框架了,但是并不支持动态图片的加载,比较好用

2.缺点 
一个强大的图片加载库,包含各种各样的配置,最老牌,使用也最广泛。

3.性能分析

4.风险(包大小等)

综述

  都能处理多种来源的图片,网络图片,本地图片,assets图片,都维护了内部的LruCache,Threadpool。 
  glide明显优于Picasso,但是glide和fresco之间的优劣对比还不知。 
http://www.mamicode.com/info-detail-929571.html这篇文章的测试显示在内存方面,fresco比glide有优势一些。

  如果可以驾驭fresco的话,建议还是选择fresco。

图片加载框架对比分析相关推荐

  1. 图片加载框架Picasso - 源码分析

    简书:图片加载框架Picasso - 源码分析 前一篇文章讲了Picasso的详细用法,Picasso 是一个强大的图片加载缓存框架,一个非常优秀的开源库,学习一个优秀的开源库,,我们不仅仅是学习它的 ...

  2. Android Glide图片加载框架(二)源码解析之into()

    文章目录 一.前言 二.源码解析 1.into(ImageView) 2.GlideContext.buildImageViewTarget() 3.RequestBuilder.into(Targe ...

  3. Fresco图片加载框架的介绍,相关开源库以及工具类的封装

    Fresco图片加载框架的介绍,相关开源库以及工具类的封装 本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 简介 Fresco 是Facebook开源的安卓上的 ...

  4. Fresco图片加载框架使用方法完全指南

    简介 Fresco 是Facebook开源的安卓上的图片加载框架,也可以说是至今为止安卓上最强大的图片加载框架. 相对于其他几个图片加载框架,Fresco主要的优点在于更好的内存管理和更强大的功能,更 ...

  5. Carson带你学Android:主流开源图片加载库对比(UIL、Picasso、Glide、Fresco)

    前言 图片加载在 Android开发项目中十分常见 为了降低开发周期 & 难度,我们经常会选用一些图片加载的开源库,而现在图片加载开源库越来越多,我们应该选用哪种呢? 今天.我就给大家介绍 & ...

  6. Android Glide图片加载框架(三)缓存机制

    文章目录 一.缓存简介 二.缓存用法 内存缓存方式 磁盘缓存方式 三.缓存KEY 四.内存缓存 内存缓存流程 五.磁盘缓存 磁盘缓存流程 Android Glide图片加载框架系列文章 Android ...

  7. Android Glide图片加载框架(二)源码解析之load()

    文章目录 一.前言 二.源码分析 1.load() Android Glide图片加载框架系列文章 Android Glide图片加载框架(一)基本用法 Android Glide图片加载框架(二)源 ...

  8. Android Glide图片加载框架(二)源码解析之with()

    文章目录 一.前言 二.如何阅读源码 三.源码解析 1.with() Android Glide图片加载框架系列文章 Android Glide图片加载框架(一)基本用法 Android Glide图 ...

  9. Android Glide图片加载框架(一)基本用法

    文章目录 一.前言 二.简介 三.基本用法 第一步:调用 Glide.with() 方法创建加载图片的实例 第二步:调用 load() 方法指定待加载的图片资源 第三步:调用 into() 方法绑定显 ...

最新文章

  1. android 监控app卸载,Android应用监听自身卸载
  2. SAP S4HANA 与 ECC的差异,多话不说,上图一张!
  3. POI导入大excel文件
  4. PostgreSQL示例demo
  5. C语言3中方法判断32还是64位机
  6. php语言的四种循环控制语句,PHP循环控制语句
  7. JS脚本病毒调试脚本-Trojan[Downloader]:JS/Nemucod
  8. 使用parted划分GPT分区(转)
  9. jQuery图片垂直滚动焦点图
  10. JDBC:随机生成车牌号,批量插入数据库
  11. 电子档案管理系统java,电子政务档案管理系统 [Java/JSP] struts+hibernate+spring-DZZW - CodeBus...
  12. 如何区分两列中不同数据_快速找出Excel表格中两列数据不同内容的3种方法!
  13. 【资源】资源分享(一)
  14. Ubuntu禁用触摸板
  15. wgs84坐标格式转换度分秒_WGS84经纬度坐标转换到西安80高斯投影坐标。
  16. java阶梯算法_上楼梯算法的java实现(转)
  17. 9.3(使用Date类) 编写程序创建一个Date对象,设置它的流逝时间
  18. python token_python 产生token及token验证的方法
  19. SCU软件设计与体系结构第三次测试试卷
  20. 正点原子STM32F103综合课程操作学习笔记(包含代码)

热门文章

  1. anaconda、python
  2. 旋转接头的组成部分和密封方法
  3. java实现用户每日签到功能
  4. 博士3年前被判定学术不端、失去工作,如今发Nature子刊证明自己是对的
  5. 小程序项目:基于微信小程序的大学生心理测试——计算机毕业设计
  6. Coursera TensorFlow 基础课程-week3
  7. 使用itext7在PDF文件中的指定文字位置添加电子签名图片技术记录
  8. Ubuntu中图片批量重命名
  9. 利用canvas对图片进行等比例压缩
  10. B类接口(淘宝api)