您的位置首页>科技要闻>

媲美iOS 华为方舟编译器它的玄乎所在

导读 大家好,我是极客范的本期栏目编辑小友,现在为大家讲解媲美iOS 华为方舟编译器它的玄乎所在问题。自从华为P30系列发布以来,除了新手机本

音频解说

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解媲美iOS 华为方舟编译器它的玄乎所在问题。

自从华为P30系列发布以来,除了新手机本身,最近黑科技——华为方舟编译器也越来越受欢迎。

改造安卓,堪比iOS,安卓手机永远不会卡壳……一度,舆论对华为方舟编译器的渲染近乎神话。据说发布会结束后,华为软件内部团队的电话几乎被炸飞,很多开发者都想多了解一下方舟编译器。

那么,华为方舟编译器到底是做什么的呢?余承东称之为“安卓性能革命”的方舟编译器对华为手机的战略发展有何意义?对安卓阵营和整个行业会有什么影响?

传统编译器绕不开的“障碍”。

首先,让我们看看什么是编译器。

根据定义,编译器将“一种语言(通常是高级语言)”翻译成可以由计算机或虚拟机直接执行的目标代码,编译器的效率将直接影响程序的运行性能和效率。

简单来说,编译器就是人和机器之间的桥梁。例如,在手机中,程序是由程序员使用高级语言开发的。当我们想要启动一个程序(比如打开一个APP)时,编译器就扮演了“翻译器”的角色,将高级语言转换成机器可以理解的机器码,按照指令运行。

编译器太神奇了,但是在安卓世界,它有一个不可避免的障碍,那就是VM。VM是运行在安卓程序中的虚拟计算机,它还有两个翻译器——解释器和编译器。当用户打开APP时,虚拟机开始运行。为了将高级语言转换成机器能够理解的语言,在虚拟机中运行两个翻译器,解释器和编译器。翻译就像现场翻译。当说话者说出一句话时,他会停下来向编译器翻译,然后编译器一次翻译一大段内容,让机器理解。两个翻译器同时发声,手机听到的内容只能是断断续续的,是同时翻译和执行的,这也是安卓卡的重要来源。

对此,华为消费者BG软件部总裁王指出,目前安卓主要在手机上编译,虽然谷歌一直在提升原生安卓编译器的效率。比如安卓5.0版本之前,安卓采用的是解释执行的JIT模式,而安卓6.0版本开始尝试ART虚拟机,之后采用的是解释执行的JIT AoT集成模式。但是为了解决安卓程序开发的兼容性问题,ART虚拟机已经存在很久了,安卓编译器可以通过JIT和AoT编译大部分Java语言,但是对Java的动态特性无能为力,所以还是需要同时解释和执行,这也导致了安卓系统流畅性的下降。

四大亮点。

从“边翻译边执行”到提前编译机器码。

针对安卓系统面临的流畅性问题,尤其是编译器问题,华为方舟编译器的特性可以绕过VM,消除虚拟机动态编译的额外开销,实现开发和运行效率的兼容,从“边执行边翻译”到提前编译机器码,直接执行。

据王介绍,华为方舟编译器有以下四大亮点:

亮点:1。第一个由多种语言联合优化的编译器消除了跨语言调用的开销。目前大多数安卓应用涉及不同的开发语言,不同语言形成的代码在运行状态下需要协同工作,造成额外的消耗。方舟编译器是业界第一个多语言联合优化的编译器。开发人员可以在开发环境中一次将多种语言编译成一套机器码,运行时没有跨语言带来的额外消耗,可以进行跨语言联合优化,提高运行效率。

2.程序运行时不需要依赖虚拟机,减少了资源占用,实现了高效的内存恢复机制。

3.第三,方舟编译器可以针对不同的应用进行灵活的编译和优化。

4.开发人员学习和使用的成本非常低。这些技术亮点可以为mor带来

用华为的话说,方舟编译器编译的应用已经在开发阶段完成。也就是说,只要是编译器编译的应用,上市后,用户下载的就是编译的。

华为的测试结果显示,使用Ark编译器最终将系统操作流畅度提升24%,系统响应度提升44%,三方应用流畅度提升60%。“安卓系统会比iOS系统更流畅”。这项技术将正式向开发者开放,让大家都可以使用Ark编译器预编译应用。

e="text-indent: 2em;">在华为看来,方舟编译器作为全新的系统及应用的编译和运行机制,从DNA层面对安卓进行了改造,解决了安卓应用边解释边运行的低效问题,让手机能直接听懂“高级语言”,可以说是近几年来安卓阵营最大的根本性革新。能够大幅降低安卓系统随机卡顿的问题,打破了人机之间的藩篱,让用户能直观感受到的就是使用体验更加持久流畅。

笔者认为,也许采用方舟编译器之后安卓系统以及应用将比iOS系统还要流畅这个说法可能言过其实,因为iPhone和其搭载的iOS系统独树一帜、在系统流畅性方面仍然领先安卓。但有了方舟编译器,安卓系统流畅性差、应用开启和运行速度势必将得到大幅提升,缩小与iOS的差距,华为也成为首家在系统层面主动寻求颠覆式创新的手机厂商。

对于志在超越苹果的华为来说,缩小安卓与iOS系统流畅性的差距,也将助力华为手机在超越苹果尤其是高端市场更进一步增加实力;而对于超越三星成为成全球第一手机厂商的目标来说,虽然方舟编译器将正式开源给开发者,使用方舟编译器对应用进行预编译的APP也可能将在其他品牌手机上适配使用,但估计华为出品的方舟编译器应该还是在华为自家的EMUI系统上更加匹配、性能才能够得到充分发挥,因此对于旨在超越三星夺冠的华为来说,方舟编译器也将成为其争冠之路上的重要砝码。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。