安卓的改进,看看安卓一直怎样在速度上追赶 iOS

局长
 局长
发布于 2017年06月15日
收藏 17

一直以来人们都有这样的印象,认为搭载iOS系统的iPhone一定比搭载Android系统的安卓手机流畅。潜移默化中,不少果粉甚至是普通吃瓜群众都形成了这样的思维定式:安卓就是卡、慢的代名词。然而,就是这样一个群众眼中的“卡、慢”的系统,不知不觉间已经走过了第十个年头。这么多年过去了这个观点还成立吗?

Android 8.0不久前已经发布了,尽管Android对比iOS似乎有“先天缺陷”,但一直以来谷歌都在不遗余力地提升安卓系统的流畅度。我们不妨来看看谷歌在这方面都做了哪些努力。

Android 4.1:黄油计划

2012年6月,Google I/O 2012开发者大会上,谷歌发布了Android 4.1,该版本担负着“承上启下”的作用,4.1系统继承了4.0的基本特性,又加入了Project Butter的新特性。Project Butter中文称为黄油计划,Google希望新版的Android如黄油一般丝般润滑,所以称之为黄油。该系统使用了新的处理架构,让Android设备中的双核、四核处理器能够得到优化,发挥出强劲的性能。

图片来自The Verge

其次,在4.1版本中,特效动画的帧速提高至60fps,优化最佳性能和较低的触摸延迟,提供了一个流畅、直观的用户界面。

为了确保帧速一致,4.1版本的Android框架所有的绘图和动画都将统一VSYNC计时,应用渲染、触摸事件、画面构图、显示刷新等操作都会锁定在16毫秒响应,所有的帧都没有提前或者落后。此外,还新增三重影像缓冲技术,让所有的渲染感觉更顺畅。触摸延时不仅会遵循VSYNC计时,还会在触摸操作时做出预判是否要提前渲染,此外在CPU闲置时会分配更多的处理能力来应对触摸事件,确保触摸没有延迟。

黄油项目(Project Butter)为我们带来了Android系统的重大改进,谷歌终于开始直面Android系统流畅度这个古老并重要的问题了。

Android 4.4:对齐唤醒

其实,很多时候,安卓系统的卡顿并不是由系统本身造成的,而是由于安卓开放的特性例如对第三方APP限制较少,所以很多APP长期恶意在后台运行,定期唤醒系统,随着安装的APP越来越多,各种APP会一窝蜂地唤醒系统,而每次唤醒都会让CPU处于高负荷运转状态,导致手机待机时也非常耗电。

而4.4版本很明显的针对这个问题而做出了优化,在该版本中加入了对齐唤醒功能,把原来需要分别在不同时间唤醒系统的多个APP集中在某个时间一次性唤醒。这样,系统被唤醒的次数大幅减少,CPU也不用频繁的工作,手机也就不会这么卡顿和耗电了。

Android 5.0:ART虚拟机

一直以来,Dalvik虚拟机背负着Android应用卡顿的罪名,原因则是应用在运行的过程中,虚拟机Dalvik通过一个叫JIT(Just-in-time)的解释器动态的进行编译并执行,这一过程也拖慢了运行效率。而在5.0版本中,原有的Dalvik虚拟机被新的ART虚拟机代替。

Android Runtime(缩写为 ART),是一种在Android操作系统上的运行环境,由Google公司研发。ART能够把应用程序的字节码转换为机器码,是Android所使用的一种新的虚拟机。它与Dalvik的主要不同在于:Dalvik采用的是JIT技术,而ART采用Ahead-of-time(AOT)技术,也就是预编译技术,安装应用的时候,代码中的字节码将被编译成机器码。而由于有了机器码,下次打开的时候就不需要再编译了,这就提高了运行效率,APP启动速度明显加快。ART同时也改善了性能、垃圾回收(Garbage Collection)、提高续航能力、应用程序除错以及性能分析。

Android 6.0:Doze嗜睡模式

4.4的对齐唤醒已经对后台APP做出了一定限制,但是显然对于那些“毒瘤APP”显然是不够的,为了杜绝“毒瘤”APP不断在后台消耗资源和电量,6.0版本加入了Doze嗜睡模式,在Doze模式中,系统尝试去通过减少应用的网络访问和CPU敏感的服务来保护电池。它也阻止应用通过访问网络,并且延缓应用的任务、同步和标准alarms。

同时系统定期退出Doze模式(maintenance window)去让app完成他们被延缓的动作。在maintenance window期间,系统运行所有挂起的同步、任务和alarms,同时也能访问网络。只要用户通过移动、点亮屏幕或则插上充电器唤醒设备的时候,系统会退出Doze模式,所有的APP退回到正常活动状态。

Android 7.0:优化系统代码

如果说前几代Android是在改善应用环境,提升应用体验的话,那么7.0版本就是优化Android的运行环境了,谷歌表示,7.0版本会是最具销量的一代Android操作系统,7.0版本主要通过减少代码的形式来提升运行速度,Android N的代码减少了50%,新的代码减少50%,软件运行速度提升幅度达到600%,应用安装提速75%。自从Android5.0换了ART虚拟机开始,因为安装时要对大量的代码进行预编译,应用安装速度一直被用户诟病,Google终于在Android7.0上解决了这一问题。

此外,7.0版本另一个优化是,每次手机升级完系统之后不用等待漫长的应用优化过程,直接就可以进入系统。

Android 8.0:针对低配设备的Android Go,系统/应用启动优化

8.0相对前几个版本而言,没有特别大的提升,毕竟Android已经第十个年头了,发展已经非常的成熟。8.0版本主要是细节的优化和体验的提升。8.0版本加入了TensorFlow Lite技术,可以帮助低功耗设备跟上当今高强度任务处理,利用新的神经网络API帮助底层芯片加速数据处理。这一功能有助于为下一代在线设备提高语音处理,视觉搜索,增强现实等能力。简而言之,就是一个内置在系统的机器学习工具。

同时,8.0版本还针对应用启动的进程进行优化,包括并发进程、压缩收集的垃圾信息和代码区域等。此外还有针对后台服务的限制,防止应用程序在后台运行太久。目标是大大减少电池消耗。

另外,针对配置较低的移动设备,谷歌还推出了Android Go的系统,它不是一个独立分支的Android版本,而是隶属于Android O,可以用于1GB RAM的设备上,例如为了节省性能,原来系统中吃内存的过渡动画被砍掉,同时还针对Android Go开发适配版应用,比如Youtube Go。如果你认为这个系统只是做减法,那你就错了,在有些方面,谷歌甚至还为Android Go添加了功能,比如数据管理,这个对低端机来说十分重要,谷歌会将这个功能添加到快捷设置中。该系统预计2018年正式面世。

总结

如今iOS 11也已经发布了,从某些更新内容来看,是对安卓功能的“借鉴”。所以安卓系统在功能性或者可玩性上甚至超过了iOS。由于底层系统的先天不足,导致流畅性在早期落后iOS很多,但随着谷歌孜孜不倦地优化与更新,Android在流畅性方面真的未必输于iOS,卡顿、慢和耗电已经逐渐成为历史。所以,已经存在大家脑海中10年的安卓“卡、慢、耗电”的标签,是时候该抹去了。

出处:PConline原创 作者:昊天  

>>>【评论有礼】6月6日-30日评论每日更新的“新闻资讯和软件更新资讯”,评论点赞数超过 20 的可登上每周更新的“源资讯”和“软件周刊”两大栏目,点赞数超过 50 的还将获得 5 活跃积分奖励和开源中国定制好礼。详情

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:安卓的改进,看看安卓一直怎样在速度上追赶 iOS
加载中

精彩评论

罗马的王
罗马的王
还说卡的,不是黑子就是手机烂
xoHome
xoHome
不吹不黑,android系统不限制互相唤醒那代名词就是卡和耗电快,我一直用的android原生系统(手机是谷歌亲儿子),这个系统在国内环境使用不安装任何app能续航2天,生活基本app上去之后最多不到一天。
通过绿色守护app来观察,除去各大厂全家桶的互相唤醒,还有Open SDK唤醒,比如高德地图SDK,只要APP内部有嵌入该SDK,任何一个APP启动,整个机器所有使用该SDK的APP全部唤醒,相同的还有极光推送等。。。
陈某锋
陈某锋
还是卡,更新到最新 还是卡,配置最高的 小米5s plus,用了几个月就开始卡,没救,刷系统,什么应用都不装 还是卡。。。。无药可救。我也是程序员,只是觉得android应该会优化好,但是现在彻底失望了,10年优化不去当初的iphone4s流畅,真的很失望,所有花里胡哨的功能都是苍白无力,就是一个字,卡!
句龙胤
句龙胤
从来没看到有钱人用i疯,只看到穷人用i疯。
OutMan/pch
OutMan/pch
就我不卡么?我也玩王者荣耀啊!第一露娜啊!

最新评论(50

马丁的早晨
马丁的早晨

引用来自“陈某锋”的评论

还是卡,更新到最新 还是卡,配置最高的 小米5s plus,用了几个月就开始卡,没救,刷系统,什么应用都不装 还是卡。。。。无药可救。我也是程序员,只是觉得android应该会优化好,但是现在彻底失望了,10年优化不去当初的iphone4s流畅,真的很失望,所有花里胡哨的功能都是苍白无力,就是一个字,卡!
我用小米5s一点也不卡
SamuelC
SamuelC
我就只佩服果蛆,在果蛆眼裡全世界的作業系統做的事情都一樣: 都是在模仿學習超越ios和xos,加個功能是為了和蘋果比,減個功能是因為蘋果也沒有,最佳化是因為蘋果「速度」快
人生能绕几个圈
人生能绕几个圈

引用来自“xoHome”的评论

不吹不黑,android系统不限制互相唤醒那代名词就是卡和耗电快,我一直用的android原生系统(手机是谷歌亲儿子),这个系统在国内环境使用不安装任何app能续航2天,生活基本app上去之后最多不到一天。
通过绿色守护app来观察,除去各大厂全家桶的互相唤醒,还有Open SDK唤醒,比如高德地图SDK,只要APP内部有嵌入该SDK,任何一个APP启动,整个机器所有使用该SDK的APP全部唤醒,相同的还有极光推送等。。。

引用来自“人生能绕几个圈”的评论

绿色守护要root才能用,lbe不root就能实现那些功能,更安全些

引用来自“xoHome”的评论

都一样的,不root的话都是通过自动化停止进程运行操作,只是有些不显示页面而已
总体感觉还是lbe更全面点
墨名次
墨名次

引用来自“notreami”的评论

iphone的硬件,android的系统。这样就完美了。

引用来自“二十面水泡”的评论

那只会卡成翔;而且比安卓还卡机;倒过来也一样;苹果卖的不是硬件

引用来自“notreami”的评论

就苹果这硬件配置,敢说不是卖硬件。

引用来自“cyper”的评论

苹果的硬件参数很好吗? iphone7只有2G内存, 电池只有2000多毫安, 用在安卓系统上估计要卡成. 安卓机才是堆硬件参数的好吧.
苹果A10 CPU吊打高通骁龙835,再说A10跟骁龙821是一个时代的产物,在过几个月a11出来的时候会更猛。还有iphone7的磁盘的读写速度吊打安卓阵营,ufs根本不够看。
xoHome
xoHome

引用来自“xoHome”的评论

不吹不黑,android系统不限制互相唤醒那代名词就是卡和耗电快,我一直用的android原生系统(手机是谷歌亲儿子),这个系统在国内环境使用不安装任何app能续航2天,生活基本app上去之后最多不到一天。
通过绿色守护app来观察,除去各大厂全家桶的互相唤醒,还有Open SDK唤醒,比如高德地图SDK,只要APP内部有嵌入该SDK,任何一个APP启动,整个机器所有使用该SDK的APP全部唤醒,相同的还有极光推送等。。。

引用来自“人生能绕几个圈”的评论

绿色守护要root才能用,lbe不root就能实现那些功能,更安全些
都一样的,不root的话都是通过自动化停止进程运行操作,只是有些不显示页面而已
咫尺已天涯
咫尺已天涯
有一个 小米2S ,仍然丝般顺滑~ 至于为什么,老生常谈的问题了。自己会用就好
山雨欲来
山雨欲来

引用来自“陈某锋”的评论

还是卡,更新到最新 还是卡,配置最高的 小米5s plus,用了几个月就开始卡,没救,刷系统,什么应用都不装 还是卡。。。。无药可救。我也是程序员,只是觉得android应该会优化好,但是现在彻底失望了,10年优化不去当初的iphone4s流畅,真的很失望,所有花里胡哨的功能都是苍白无力,就是一个字,卡!
高级黑,ios6版iphone4s 是ios历史上最流畅的流畅,后面就一直在走下坡路,安卓一直在走上坡路
米老头
挺好的安卓,买的苹果7感觉还没有小米max 玩着爽
get_moon
get_moon

引用来自“陈某锋”的评论

还是卡,更新到最新 还是卡,配置最高的 小米5s plus,用了几个月就开始卡,没救,刷系统,什么应用都不装 还是卡。。。。无药可救。我也是程序员,只是觉得android应该会优化好,但是现在彻底失望了,10年优化不去当初的iphone4s流畅,真的很失望,所有花里胡哨的功能都是苍白无力,就是一个字,卡!
小米手机就是卡。。公司测试机用不到半个月就卡的不行
shikeaiDev
shikeaiDev
其实自己骗自己,每代都说本代则么则么地,我从没觉得哪里不卡顿。
返回顶部
顶部