一文读懂华为创世“鸿蒙”与救世“方舟”( 六 )

另一方面,方舟编译器用空间换性能,直接将编译器的代码优化搬到了开发者环境,不再被手机端的硬件资源所限制,为代码优化提供了无限可能。

华为方舟编译器团队基于多个编程语言的深刻理解和大量研发积累,将混合语言破天荒实现了统一的中间表示IR,这就相当于同一个人能够理解全世界的语言,所以我们把这个革命性突破叫做,代码“万国通”。

六.安卓卡顿再见!

方舟的另一个重要使命,就是解决安卓虚拟机GC内存回收带来的“Stop World”。

目前安卓手机内存资源不够用的时候,GC直接叫停所有应用,所以偶尔会遭遇莫名卡顿。

方舟编译器采用了引用计数法(RC,Reference Counting)来进行内存的实时回收,并且配合使用了专门的消除环算法(消除对象互相引用带来的无法回收问题),来避免GC集中式回收带来的系统卡顿。相比GC,方舟的内存回收是实时的而非集中式的,且不需要暂停应用进程,这样便大大消除了卡顿。

一文读懂华为创世“鸿蒙”与救世“方舟”

推荐阅读