Andorid更新了一个版本又一个版本,硬件从单核到双核到四核,系统流畅度总算基本能和iOS持平了。不过人们不禁会问,为什么都是基于Linux,两个系统会差别如此大?为什么iPhone 4用单核处理器就能实现的流畅度,Android要高端双核才能保证?近日,Android开发小组工程师Dianne Hackborn算是半官方回答了其中的一个缘由。

  Dianne Hackborn表示,从界面UI本身的渲染而言,首先,Android从第一个版本就有使用图形硬件加速,例如通知栏拖拉,对话框的显示和切换等等。只不过在3.0之前的版本都不是采用完整的图形硬件加速。由于Android不是一个统一平台,各终端存在硬件差异,系统会自动调节动画的帧数。一个典型的例子就是,Nexus S可以实现到60fps的渲染,所以会足够流畅。但使用同样分辨率的里程碑,由于硬件(GPU)性能问题,它就无法提供足够的帧数来保证流畅了。这样,它的界面渲染帧数要低于60帧,我们使用起来就会偶尔感觉到“卡”。

  而且,即使为UI开启硬件加速,OpenGL技术带来的内存开销会十分大,比如PowerVR的图形芯片,此时要消耗掉8MB内存,而UI程序本身都只要2MB内存,这太划不来了。所以,为了保证不同机型顺利运作,很多时候Android会采用CPU绘图运算代替硬件加速——注意,CPU还要干别的事情,让CPU来绘图只会拖慢速度。

  在Android 4.0之前的版本,硬件加速是作为一个可选择的参数而存在(考虑到部分APP不支持)。但从4.0开始,这个选项将会被默认启用,开发小组已针对进行优化,即使不支持硬件加速程序运行也不会出现问题。

  Dianne Hackborn最后表示,硬件加速不是提升流畅度的唯一手段。事实上Android开发小组已经使用很多技术例如改进渲染技术来提升流畅度,典型的例子就是Android 3.0的浏览器相比2.2有巨大进步。而随着4.0铺开,更多用户可以感受到这点。

  Dianne Hackborn没有评价iOS是如何达到流畅的。不过大家注意,从iPhone 3GS开始,每一代iPhone的图形芯片(GPU)都相当强大(iPhone 3GS、iPhone 4、iPhone 4S的图形处理芯片均为同代手机最高水平),而且苹果iOS是封闭系统,我们猜测,苹果在这一方面并没有碰到Android那么多烦心事儿

  苹果A5处理器集成的PowerVR SGX543MP2图形处理器性能相当强大,几乎秒杀了Android阵营各类对手

android流畅度比Ios差的原因的更多相关文章

  1. Android流畅度测试

    Android流畅度测试 测试方法一:系统自带-开发者模式 测试方法二:FPS Meter测试安卓帧数 H5页面加载速度:window.performance.timing 测试方法一:系统自带-开发 ...

  2. Google推Android新开发语言Sky:流畅度 秒iOS

    Dart初衷 作为当前市占率最高的智能手机操作系统,Android平台正在吸引着越来越多的开发者. 不过,对用户而言,Android的体验还不够完善,卡顿的情况时有发生.再深入点理解,许多应用的帧率达 ...

  3. Android App性能评测分析-流畅度篇

    1.前言 在手机App竞争越来越激烈的今天,Android App的各项性能特别是流畅度不如IOS,安卓基于java虚拟机运行,触控响应的延迟和卡顿比IOS系统严重得多.一些下拉上滑.双指缩放快速打字 ...

  4. [原] Android持续优化 - 提高流畅度

    一.形象的感官一下流畅度概念 1. 这是官方给出的概念:Android流畅运行,需要运行60帧/秒, 则需要每帧的处理时间不超过16ms. 2. 每秒帧数,实际上就是指动画或视频每秒放映的画面数.因此 ...

  5. 安卓 App 性能专项测试之流畅度深度解析-上篇

    指标背景 流畅度,顾名思义是用户感知使用App页面时的流畅情况,"App卡不卡",这是用户最直接的感受. 但是要用量化之后的数据衡量流畅度,在Android平台这边并没有直接有效的 ...

  6. iOS保持流畅有哪些秘诀? 除了黑科技GPU还有这些重要原因 期待安卓8.0流畅度逆袭

    经常有人提起iPhone使用起来要比Android手机流畅,现在谈谈为什么iOS使用中会让人觉得更加流畅一些.一方面iPhone的顶级硬件为iOS的流畅打好了基础,另一方面,专一定制的系统是保证体验的 ...

  7. 【MIG专项测试组】如何准确评测Android应用的流畅度?

    转自 腾讯Bugly 叶方正,2008年加入腾讯,就职于无线研发部[专项测试组].曾经负责多个产品的性能优化工作,积累大量的移动终端平台优化以及评测经验. 怎样获取SM值? 前文我们分析了通过测量应用 ...

  8. iOS 开发 - 改善APP的流畅度 (绘制股票行情)

    这几天做了一个查看股票行情的app. 完成之后,当k线比较多的时候,app 对于捏合.拖动手势的反应不太流畅, 主要原因是drawRect: 干的活太多, 竟然需要40ms+, fps 自然不高 最后 ...

  9. iOS如何提高页面流畅度

    A.提高CPU性能 对象创建1.尽量用轻量的对象代替重量的对象,比如CALayer 比 UIView 要轻量许多,如果不考虑交互事件的话,可以选择CALayer.2.Storyboard和xib加载对 ...

随机推荐

  1. ubuntu maven install&config

    可以通过命令直接安装,我还是用文件安装. 1,下载apache-maven-3.5.0-bin.tar.gz二进制压缩文件 https://maven.apache.org/download.cgi ...

  2. Openlayers3中实现地图的切割

    概述: 本文讲述如何在Openlayers3中结合canvas实现对地图的切割. 效果: 全图 切割北京区域 切割河北区域 实现: <html xmlns="http://www.w3 ...

  3. 学习三部曲:WHAT、HOW、WHY

    一个人学习的过程要经历以下三步,才可以说得上"学会"两字: 第一步:WHAT 所谓的"WHAT",就是搞清楚某个东东是什么?有什么用?有什么语法?有什么功能特性 ...

  4. 在Fragment中加一个嵌套了ListView的ScrollView(一)

    首先介绍一下这个程序的功能: 1.顶部有两个可以切换Fragment的Button 2.在其中一个Fragment中里有个ScrollView,ScrollView中有ViewFlipper,List ...

  5. 打开U盘时出现“使用驱动器 X:中的光盘之前需要将其格式化。”字样

    今天打开U盘时出现如下情况,吓死宝宝了,格式化!!!里面还有好多数据嘞,幸好最终找到方法解决了这个问题. 解决方法: 1.下载DiskGenius软件 2.工具->搜索已丢失分区(重建分区):不 ...

  6. Scikit-learn方法使用总结

    在机器学习和数据挖掘的应用中,scikit-learn是一个功能强大的python包.在数据量不是过大的情况下,可以解决大部分问题.近期在学习使用scikit-learn的过程中,我自己也在补充着机器 ...

  7. AE编码、稀疏编码(待续)

    http://ufldl.stanford.edu/tutorial/unsupervised/SparseCoding/

  8. crm 02--->讲师页面及逻辑

    要求: 讲师 批量初始化 考勤 录入成绩 批量初始化 考勤与批量初始化这两个功能都要放在课程记录表中CourseRecord # 批量初始化 # 将该班的所有学生,初始化带某一天,而不是将每个学生一个 ...

  9. HDU1576 A/B

    暴力出奇迹,我就知道没取余那么正当,肯定有什么奇淫怪巧,果然5分钟A掉. #include<cstdio> #include<cstdlib> #include<iost ...

  10. hiho1523 数组重排2

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个1-N的排列A1, A2, ... AN,每次操作小Hi可以选择一个数,把它放到数组的最左边. 请计算小Hi最少进 ...