P30系列中国发布会上,华为推出方舟编译器,可以做到在安卓底层优化架构,引起业内关注。
中兴事件后,安卓系统禁用的风险屡屡被探讨。此前,华为曾表态,自己有手机系统备份,但不到万不得已不会启用。
当然,方舟编译器并没有取代安卓系统,而是跟安卓系统进行深度合作,以这种方式来提升华为手机的体验,并提升华为对抗风险的能力。
编译器是一种语言(通常为高级语言)翻译为另一种语言(通常为低级语言)的程序,可以将源代码翻译成可以被计算机或虚拟机执行的代码。
华为方舟编译器可供开发者,在开发环境一次性将高级语言编译为机器码,可以让手机安装的APP运行效率明显提升。
据华为实验室测试数据,EMUI 9.1在仅仅对系统组件System Server应用了华为方舟编译器后,系统操作流畅度提升24%,系统响应性能提升44%。 新浪微博极速版是第一款采用方舟编译器的第三方应用,操作流畅度提升60%。
华为为什么要做方舟编译器?
4月25日,CBG软件部总裁王成录博士在采访中解释:
由于安卓的开放性,对上层应用没有强制规则。比如安卓的第三方应用市场非常多,数量无法统计;安卓的安装方式也非常多,通过邮件都可以安装,由此带来的问题比较多。所以安卓用户要真正能够获得好的体验,手机厂家只把手机(硬件)做好是不够的,(还需要对软件进行提升)。
王成录打了一个比方:假设手机是一个人,过去这个人身体体质弱容易得病,但是今天把这个人身体锻炼好了非常强壮了,但是吃的东西没有保障。从应用市场下载的东西有问题,这个人免疫力再好,也难免受食物所累。
手机内部的资源是有限的,要想取得好的用户体验,就要对系统硬件资源机型合理调配。华为先后发布了多种新技术,包括AI芯片、GPU Turbo、Link Turbo来提升手机性能。在此之后, 编译器成为安卓机性能提升最大的难题,为了攻克这一难关,华为推出了方舟编译器。
做编译器是一个非常复杂的工程。据王成录介绍,华为2009年就开始为编译器做准备,2013年有了自己的编译器HCC,2014年引入了Fred Chow等技术大牛,来做华为编译器的主架构。此后,2012年实验室成立了编译器与编程语言实验室,今年4月推出了方舟编译器。
相比于安卓原生系统,方舟编译器可以明显提升系统运行效率:
首先,它是多语言联合优化编译器,消除跨语言调用开销,这是影响Android性能消耗较大的核心原因之一。
其次,把虚拟机去掉了,内存回收机制。“我们在内存回收上,华为现在这方面做的比Android领先的非常高,内存回收的机制和效率非常高。”王成录表示。
虚拟机是安卓系统的关键部分之一。虚拟机可以帮助安卓系统适配各种处理器,实现跨平台操作,不管是X86机器,还是ARM机器,或是其他CPU的机器都没有问题。但这样一来,只要装上安卓系统,虚拟机也会占用额外的系统资源。
“我们编译器的目标是上层业务代码不需要改,大家只需要通过方舟编译器重新编译就足够了。现在还需要开发者作一些对接,但很快随着一些APP进来,这个目标很快就能实现。”
据王成录介绍,方舟编译器目前是基于ARM指令集开发的,2019年全面开源,适用于所有ARM平台,不限于安卓,未来可基于具体芯片指令集进行开发。
其实,要在安卓系统底层进行优化,除了技术难题外,关键在于如何跟谷歌达成合作。
2012年,因为基于安卓框架的阿里云OS去掉了谷歌的虚拟机,代之以自行研发的虚拟机, 谷歌反对宏碁生产搭载阿里云OS的智能手机,并宣称要取消其GMS授权 。由于谷歌的反对,此事就此 搁浅。 华为则跟谷歌达成了合作,在华为手机系统国内版本上,可以采用方舟编译器。
王成录也表示,华为在安卓底层的优化工作,是产业的共同资产,华为愿意将方舟编译器贡献给整个安卓生态,这个过程需要谷歌、手机厂家、应用开发者一起努力,让编译器更加完善。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 方舟编译器火了,华为在底层重造安卓系统,目标超越苹果iOS
- LLVM接受NVIDIA的“f18” Fortran编译器作为官方Fortran编译器
- Go 编译器介绍
- Go 编译器介绍
- C++编译器优化
- 编译器笔记与实验记录
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Google API开发详解
江宽,龚小鹏等编 / 电子工业 / 2008-1 / 59.80元
《Google API开发详解:Google Maps与Google Earth双剑合璧》从易到难、由浅入深、循序渐进地介绍了Google Maps API和Google Earth API的开发技术。《Google API开发详解:Google Maps与Google Earth双剑合璧》知识讲解通俗易懂,并有大量的实例供读者更加深刻地巩固所学习的知识,帮助读者更好地进行开发实践。 《Go......一起来看看 《Google API开发详解》 这本书的介绍吧!
URL 编码/解码
URL 编码/解码
RGB CMYK 转换工具
RGB CMYK 互转工具