最近我对几个主流图片框架进行了调研分析,整理出了文档:

四大图片加载框架总体对比:

性能测试:

以下是个人对Glide、Fresco对比UImageLoader(鉴于Glidei 基本是Picasso的升级版,所以这里没有对Picasso进行测试)进行的简单性能测试(仅供参考):

测试手机:华为荣耀8     Android7.0

使用的SDK版本:Glide4.0,Fresco1.8.0  UImageLoader1.9.5

测试方式为在相同网络环境和图片,测试10次以上取平均值:

1.加载速度测试:

加载单图:

加载图片分辨率为860*1000

不做任何图片变换处理

(注:内存缓存加载速度均在1ms~3ms左右)

测试多张图片同时加载总耗时:

20张图片,分辨率1000*1000左右,ImageView尺寸400*400:

从上表可以看出:

Glide和Fresco网络加载的速度都要明显快于ImageLoader,磁盘加载则相差不远,总体Glide比较快。

加载内存测试:

图片列表,一屏20张图片,图片都为分辨率1000*1000左右,ImgeView500*500:

(注:这里因为是7.0系统,所以没有体现出Fresco在native内存的优势)

从上面表格可以看出:ImageLoader占用内存比Glide、Fresco要少,ImageLoader和Fresco相对比较容易出现内存抖动现象,所以Glide相对来说加载列表图片更为合适。

总结:

1.三个图片框架,Glide平均速度最快。

2.Glide更适合列表图片,因为它更流畅。

3.Fresco更适合对图片效果要求高的应用。

4.在低于5.0版本的安卓手机Fresco内存优势比较大,不易发生OOM。

5.ImageLoader不能使用gif,只有Fresco可以使用动态的Webp。

6.Fresco包很大,使用需注意。

主流图片框架比较分析相关推荐

  1. 优雅地实现Android主流图片加载框架封装,可无侵入切换框架

    项目开发中,往往会随着需求的改变而切换到其它图片加载框架上去.如果最初代码设计的耦合度太高,那么恭喜你,成功入坑了.至今无法忘却整个项目一行行去复制粘贴被支配的恐惧.:) 那么是否存在一种方式 能够一 ...

  2. 图片加载框架对比分析

    glide Google推荐的图片加载库,专注于流畅的滚动. 1.优点  1)使用RGB_565,内存占用比Picasso小一半.  2)图片展示和页面的生命周期一致(对context有类型要求)  ...

  3. 从TensorFlow到DL4J——主流深度学习框架对比分析

    从TensorFlow到DL4J--主流深度学习框架对比分析 2022年2月22日 极链AI云 官网地址 点击注册 更多AI小知识,关注<极链AI云>公众号 文章目录 从TensorFlo ...

  4. php使用框架优缺点,主流PHP框架的优缺点对比分析

    PHP是一种在国内外都比较流行的开源服务器端脚本开发语言.能够适应大中小型项目的开发需求.我们将在这篇文章中向大家介绍几款主流PHP框架及其相关优缺点评比,作为一个参考分享给朋友们. 主要参考的PHP ...

  5. Android 常用图片框架对比

    在Android中,进行内存优化,最重要的优化处理是对图片进行内存的优化处理,毕竟图片占用的内存是非常大的,对于图片的内存处理,是android中内存优化的重中之重.目前开源的4大图片处理框架都对图片 ...

  6. 目标检测框架网络模型分析(二 双塔奇兵)

    前言 我很长一段时间一直都在做自动驾驶的物体检测性能调优,所以想总结整理一些小网络和检测框架的经验. 文章会分成三个部分: 第一部分将参照知乎@YaqiLYU 对小网络(经典网络)的分析并且结合的自己 ...

  7. android图片框架对比(全)ImageLoader、Picasso、Glide、Fresco、Coil

    一.直接表格对比 红色代表严重缺点 对比项 ImageLoader Picasso Glide Fresco Coil 库是否维护 false true true true true 是否支持gif ...

  8. Android APK的主流开源框架

    主流开源框架 View框架 1.ButterKnife 2.ViewBinding 图片框架 1.Glide 快速高效的Android图片加载库,注重于平滑的滚动 2.Picasso Square 开 ...

  9. “黑”掉神经网络:腾讯披露新型AI攻击手法,主流机器学习框架受影响

    来源:AI前线 本文约3000字,建议阅读6分钟. 本文为你介绍一种新兴的针对机器学习模型的攻击方式"后门攻击". "后门攻击"是一种新兴的针对机器学习模型的攻 ...

最新文章

  1. 超时时间已到。在操作完成之前超时时间已过或服务器未响应
  2. linux下oracle数据库服务和监听的启动停止
  3. rust服务器假人文件,rust游戏手机版-rust手游预约(腐蚀游戏手机版)-乐游网安卓...
  4. [iOS]利用Appicon and Launchimage Maker生成并配置iOSApp的图标和启动页
  5. python中有那几种赋值_详解Python列表赋值复制深拷贝及5种浅拷贝
  6. 注册页面的JSON响应方式详细分析(与前端页面交互方式之一)
  7. go语言结构体标签的意义
  8. html左侧隐藏菜单栏,如何制作一个炫酷的隐藏侧边栏菜单
  9. 蓝桥杯 ALGO-126 算法训练 水仙花
  10. 【equals与==比较】String的两种拼接
  11. 数据-第17课-栈课后练习
  12. xp sp3不让dword shoot
  13. 网管IT服务管理五个心得
  14. 图文详解:微信公众号申请流程
  15. mumu按键精灵_魂器学院,新手做的按键精灵脚本,基本每天的日常任务可做,mumu模拟器的...
  16. HTML 星空动图背景(canvas+JS)
  17. kotlin杂谈系列十二(Kotlin和Java的互操作)
  18. [问题已处理]-k8s出现Evicted状态
  19. 代码改变生活-文件重命名
  20. java实用教程第五版电子书,爱了爱了

热门文章

  1. 专家级解说缓存服务器负载均衡概念
  2. Android 7.0 ----- Direct Boot模式(AppClock)
  3. 一线互联网大厂中高级Android面试真题收录!大厂直通车!
  4. HTML jQuery实现点赞功能(模仿CSDN的样式)
  5. 判断ua字段中是否含有html5plus,浏览器UA,浏览器标识检测
  6. 九章量子计算机地位,“九章”量子计算机这么牛,到底有什么用?|【经纬低调分享】...
  7. FTDI FTD2XX 驱动学习笔记(一)
  8. python统计汉字个数是_使用 Python 统计中文字符的数量
  9. 伸缩门遥控器c语言程序,伸缩门遥控器匹配方法是什么呢? 如何学会电动门的遥控编码...
  10. C语言小游戏: 2048.c