乐天集团中国产业园区品牌连锁运营商

华为方舟编译器已启动开源

发布时间:2019-09-02 发布者:亚时财经

华为官方微信近日发文显示,方舟编译器已于8月31日开源。

 

方舟编译器是一种静态的编译方式,是华为公司为了提升Android系统的编译效率推出的一项系统及应用的编译和运行机制。不同安卓的系统运行基于虚拟机之上,方舟编译器将绕过虚拟机,以加大编译执行的效率。


安卓系统的运行以及方舟编译器的运行(图源:网络)

 

此外华为方舟编译器的静态编译方式可将语言里的动态特性直接翻译成机器码,手机安装程序应用后即可全速运行,极大提高系统的运行效率。

 

据华为官方介绍,方舟编译器还将对于系统进行以下两个方面的提升:

 

一、EMUI 9.1对系统主要服务System Server进行静态编译化,带来了系统流畅度提升24%,系统响应性能提升44%以上的收益。

 

二、微博极速版实现了静态化编译后,流畅度提升高达60%。

 

据悉,目前市场上不管是Android应用还是iOS应用,它们想要在CPU上运行,都需要经过翻译或者编译成机器码。安卓APP所通用的执行则是安卓编译器,安卓编译器在运行的时候,则是通过一种「编译执行」的模式运行,该模式主要分为两种:JIT(Just-in-time,即时编译),边运行边编译;AOT(Ahead-Of-Time,运行时编译),在程序运行前编译,可以避免在运行时的编译性能消耗和内存消耗。

 

就Android系统而言,JIT 在运行时编译开销大,容易造成卡顿。而AOT运行时需要全面翻译,用户等待安装的时间过长,且安装过程中翻译出来的机器码占用了大量的内存空间。


编译执行模式的过程(图源:网络)

 

此外,官方还介绍到方舟编译器还带来了新的系统垃圾回收机制。相比于安卓的垃圾回收机制的集中回收,方舟编译器则会获取目标对象的大小和优先级,将所述目标对象的大小和优先级分别于相应的预设阈值进行比较,根据比较结果对应的控制策略,使用系统垃圾回收期所述目标对象所占用的内存。

 

简单的来说就是不会像Android目前编译器使用的Java虚拟机那样,系统不停的地自动回收内存垃圾,以保证内存不会溢出。而是当内存低于某个标准值后,它就会自动杀掉优先级低的进程,以防止随机性的卡顿。即随用随回收,不用就暂停应用。


方舟编译器的系统垃圾回收机制(图源:网络)

 

对于如此重要的技术成果华为为什么会选择开源?华为解释道,一方面是出于对让消费者能够享受到极致性能的手机这一理念的实践。另一方面,华为指出安卓阵营的做大做强有赖于每一位开发者的参与,也只有这样才能将无处不在的极致体验真正带给每一位消费者。

 

亚洲时报 综合

责任编辑:杨颖


特别声明:本站转载或引用之图文若侵犯了您的合法权益,请与本站联系,本站将及时更正、删除。版权问题及网站合作,请通过亚时财经邮箱联系:asiatimescn@sina.com

热门话题更多>>

推荐文章

更多>>

扫一扫手机阅读

ATimesCN手机网站