安卓中文网 > 正文
华为方舟编译器解读 如何让手机性能再突破
华为方舟编译器解读 如何让手机性能再突破
来源: TGBUS原创 作者: 孙雨欣 2019-04-26 12:34
今年4月,华为新品发布会上,除了发布全新的华为P30系列手机,还发布了革命性的 “华为方舟编译器”。通过架构级优化,华为方舟编译器可以从程序编译与运行机制上提升安卓系统的流畅度,补齐安卓系统的短板。

今年4月,华为新品发布会上,除了发布全新的华为P30系列手机,还发布了革命性的 “华为方舟编译器”。通过架构级优化,华为方舟编译器可以从程序编译与运行机制上提升安卓系统的流畅度,补齐安卓系统的短板。


据了解,2009年华为便创立了编译组,期间推出自研编译器HCC、编程语言CM等,历经10余年方舟编译器才得以面世。 

华为方舟编译器采取了静态编译的方式,是目前第一个取代了安卓虚拟机模式的静态编译器,业界首个多语言联合优化的编译器,开发者在开发环境中可以一次性将多语言统一编译为一套机器码,运行时无需产生跨语言带来的额外消耗,并可以进行跨语言的联合优化,提升运行效率。手机安装应用程序后可全速运行程序,带来效率上的极大提升。根据华为官方提供的数据显示,通过方舟编译器可实现系统操作流畅度提升24%,系统响应提升44%,优势十分明显。

同时,内存管理是程序开发和运行时需要重点考虑的部分,这对于系统的流畅度关系十分紧密,也是方舟编译器对安卓系统优化的重要部分。安卓在内存回收上采用集中回收机制,发生全局回收时更需要暂停应用,这也是随机卡顿的根因之一。而方舟编译器提供了更高效的内存回收机制,回收时无需暂停应用,随时用随时回收,大大提高运行速度。

代码优化是编译器最为核心的功能,是评价一款编译器优劣最重要的标准。当前安卓应用使用了虚拟机机制,难以面向不同应用对虚拟机进行针对性的灵活优化。安卓ART的AoT和JIT动态编译因为运行在手机上,受到资源限制,只能使用简单的优化算法。而方舟编译器由于是在应用开发阶段进行编译,所以可以允许不同应用灵活采用不同的编译优化方案,而且因为在开发环境编译不会受到手机性能的限制,可以使用更多先进的优化算法,从而使得每个应用可以达到最佳性能。

华为方舟编译器在开发构建的阶段为开发者提供快速的集成编译环境,大大降低了开发者的学习成本和使用成本,令产业与更多用户受益。

方舟编译器将于2019年8月的华为终端开发者大会上开源编译框架代码,并于2019年11月的绿盟开发者大会上公布完整的方舟编译器代码。