为安卓系统换心脏:华为EMUI逆袭之谜
2020-01-21 15:44:22
  • 0
  • 0
  • 0

2020年是一个新十年的开始,在这个时点,人们回忆过去、展望未来。当我们的目光放在手机上,可以看到这十年,对于安卓手机来说真是天翻地覆的十年。


有人说,“操作系统是计算终端的灵魂,用户界面是操作系统的灵魂”。华为EMUI系统就是这样,这几年的进化史,堪称波澜壮阔,一切都是为了让操作系统的灵魂跟上用户体验的脚步。




攻克安卓卡顿顽疾


时光倒回到几年前,安卓手机有一个很大的顽疾:卡顿,这和流畅的iOS比起来简直是天壤之别。笔者就曾经用过三星的一款手机,对这一点感受很深刻,卡顿、死机是家常便饭,必须要不断地重启、清理内存,尤其是使用半年后,更是卡得没法用。


究其原因,一方面是当时安卓系统本身的问题,其虚拟机运行机制效率低下,耗用了太多的硬件资源(在安卓4.4版本之后这个问题得到了解决);另一方面,主要是第三方应用的质量问题,由于安卓系统的开放,导致第三方应用开发者都基于自身的理解来做开发,应用和硬件协调问题突出。


华为消费者BG软件部总裁王成录博士回忆起当年的情形:为了找到卡顿的原因,华为当时收集了470多部消费者投诉严重卡顿的手机进行分析。“就像破案一样,分析结果超出了所有人的想象,造成卡顿第一位的原因是第三方APP质量问题,占了卡顿手机的21%以上。”


具体来说,华为EMUI团队将卡顿的问题归结为安卓系统的松散管理、系统硬件资源协同缺乏、存储碎片累积效应、APP膨胀严重等四大方面。找到了问题所在,华为开始发挥最擅长的饱和攻击,重兵投入对安卓进行底层手术式的重构,使用Machine Learning Algorithm智能学习系统和更换文件系统等来解决卡顿问题。


2016年,伴随着Mate 9 系列发布的EMUI5.0成为安卓系统的一个里程碑,它提出“天生快 一生快”的口号,同时还承诺“18个月不卡顿”。当时,业界有不少人都认为华为是吹牛,但是来自用户的实际体验是最好的检验,华为终于将安卓系统卡顿的帽子甩掉。


这一过程充满着艰辛,甚至惊险。在一次采访中,王成录透露,在EMUI 5.0更换文件系统F2FS时,自己在内部签了军令状,因为这个工作实在是风险极大,“一旦出现问题,华为手机可能全军覆没。” 最终,华为内部做了大量的测试,让这个更换工作有惊无险。此后华为主动将该技术开放,并且被谷歌合入到了安卓版本的可选项。


2018年,德国Connect实验室针对华为Mate 20 Pro进行模拟老化测试,结果出乎意料,模拟18个月的重度使用后,性能只是下降5%,这证明了“天生快、一生快”、“18个月不卡顿”并非虚言。


黑科技层出不穷


从EMUI5.0开始,华为EMUI系统就像开挂一样,不仅在流畅上一骑绝尘,更是黑科技层出不穷,彻底重构了安卓系统的体验。




GPUTurbo:“很吓人的技术”,打通了EMUI操作系统以及GPU和CPU之间的处理瓶颈,在系统底层对传统的图形处理框架进行了重构,实现了软硬件协同,从而带来了真正的图形处理效率和降低能耗的性能革命。


据媒体对于升级GPU Turbo后的Mate10系列手机和iPhone X手机评测,30分钟绝地求生之后,华为Mate10 Pro的游戏帧率基本维持在40帧,并且变化幅度依旧控制在正负0.97帧;反观iPhone X,整体的游戏帧率同样维持在40帧,但变化幅度控制在正负1.06帧,要稍高于华为手机。同时从游戏曲线来看,iPhone X比华为Mate10 Pro的波动幅度明显要大一点,体现在游戏上可能就是细节上的帧率跳动,这说明Mate10系列手机在游戏上已经优于iPhone X。


LinkTurbo:即全网络聚合加速技术,第一次实现移动数据通信和固网数据通信技术的融合演进,为用户带来聚合高网速、稳定低时延的移动上网体验。测试结果显示,Link Turbo技术可以聚合WLAN和4G网络,实现更高的网速。开启了Link Turbo技术的荣耀V20比单LTE的网速提升了71%,比在单WLAN网络的速度提升135%。而且,在从WLAN网络的室内进入到室外的4G网络等网络环境变化的场景,没有Link Turbo技术的手机会出现应用体验中断,而有Link Turbo技术的手机则能够保证应用体验不中断,不会产生影响用户体验的时延抖动。




方舟编译器:更是让业界震动,它对安卓底层机制进行重构,给用户带来颠覆性的体验。简单来说,方舟使用随用随回收的内存回收机制,回收时无需暂停应用,从而消除了因内存回收的随机卡顿;而且,方舟编译器在应用打包的时候直接编译出机器指令,无需繁琐的虚拟机运行,彻底消除了虚拟机的动态编译的额外开销,从边翻译边执行到提前编译机器码直接执行,大幅提升了效率,让性能得到大幅提升。


数据显示,有了方舟编译器的手机,能实现系统操作流畅度提升24%,系统响应性能提升44%。拿微博极速版为例,使用方舟编译器后,微博极速版的操作流畅度提升高达60%。




在去年9月的华为Mate30系列发布会上,“确定时延引擎”和“分布式技术”的黑科技也吸引了大家的目光。前者通过智慧的调度,完成时延降低31%,时延波动率降低55%。无论在哪种场景下,用户体验流畅性始终如一;后者将各种终端的硬件能力和终端分离,从而打破终端之间的边界,为用户带来一个“超级终端”……




这些黑科技,让EMUI不断进化,让用户体验不断打开新的想象空间。


脱胎换骨之谜


华为EMUI的进化史,就是一部蜕变史,从几年前卡顿的安卓,到现在快似飞起,在体验上绝对是脱胎换骨。


这背后到底是什么原因?王成录曾经很直白地点出答案:“竞争力就是用钱和人堆出来的。”是的,为什么华为能够让EMUI的体验一次次突破想象?首先是因为华为的技术基因,是过去十年超过4800亿元的技术研发投入,以及持续向同一个城墙口冲锋的精神。如华为公司创始人任正非所说,“敢于在战略机会点上,聚集力量,密集投资,实施饱和攻击,扑上去,撕开它。”


具体来说,EMUI的每一个黑科技都不是孤立的,背后都是华为对安卓系统底层优化的系统工程。粗略统计,过去3年华为终端累计投入数千名工程师对安卓系统底层进行系统化改写。例如,在EMUI 4.0时代华为手机做了SensorHub LiteOS层面整理;EMUI 5.0时代则完成了虚拟机、数据库、文件系统以及Ultra Memory的优化;到了EMUI 8.0时代,优化则涉及iAware,人工智能、机器学习、资源分组调用等等。毫不夸张的说,华为EMUI已经对安卓系统做了换心脏式的大手术。


众多最底层创新的EMUI黑科技,也为华为构建起极高的竞争门槛。以Link Turbo为例,王成录表示,LinkTurbo的技术门槛非常高,尤其是协议层的理解,几乎没有厂商能超过华为。Link Turbo技术对MP-TCP协议进行了非常深度的优化,并重新设计和定义了全新的MP-UDP协议,仅仅在聚合功能上,华为就申请了21项核心专利。


方舟编译器更是十年磨一剑。王成录透露,早在2009年,华为就创建了编译组,因为海思做了芯片以后,需要有自己的编译器才能真正发挥芯片的能力。从2013年开始,华为推出了自己的编译器HCC,用在基站领域,这可以说是方舟编译器的前身。到了2014年,以Fred Chow等为代表的众多技术人才加入,在2016年华为成立编译器与编程语言实验室,一直到现在推出方舟编译器。




值得指出的是,华为EMUI也在走向生态化,通过开放和协作,在行业中扮演引领的作用。在最初解决安卓系统卡顿的问题中,面对第三方应用资源使用的乱象,华为选择牵头竖起大旗,联合重量级生态玩家,规范、净化安卓生态。2016年11月,华为联合阿里巴巴、百度、腾讯、网易四家企业共同发起安卓绿色联盟(现改名为软件绿色联盟),共同构建中国安卓绿色应用环境,打造安全、可靠、可信、健康的应用生态。


软件绿色联盟陆续推出《软件绿色联盟应用体验标准》的多个版本,涵盖了应用安装与运行的兼容性、稳定性、安全、功耗和性能标准,发展会员企业超过1000家,覆盖80%的主流应用,为安卓系统的流畅性做出了贡献。王成录表示,软件绿色联盟每年还举办三四十场技术宣讲,包括告诉开发者如何适配代码接口、如何节省硬件资源调度等,以及如何面向新场景进行开发等等。


伴随万物互联、万物智能的智能物联网时代到来,华为EMUI再一次踏向进化的征程,“分布式技术”就是其中之一,这同样是来自华为深厚的技术积淀和持续的研发投入,也同样是生态化的。“华为的分布式构想,将通过开源模式运作,华为将输出成熟的底层能力,让产业链受益,也推动开发者互惠互利,共同提升软件能力。” 王成录如此说。




一个用户体验的新世界之门已经开启,用户界面这个操作系统的灵魂必将不断为我们带来新的惊喜。


 
最新文章
相关阅读