跟卡顿说say goodbye华为方舟编译器让安卓重获新生

2019-08-09 17:44:34 作者:佚名 出处 : 互联网

  在智能手机时代,Android系统由于底层代码冗余,因而备受卡顿的诟病,甚至形成了足够坚固的偏见,让很多品牌都一直背负着沉重的包袱。但总有品牌能够在逆境生长,通过创新为自己也为行业找到一条解救之路。

  以EMUI 为例,从EMUI 5.0开始,华为就致力于打造更加流畅的操作系统。目前,华为P30 系列搭载了最新的EMUI 9.1版本,配合全新方舟编译器,已经开始在根本层面上解决Android系统带来的难题,并已经取得了不俗的成效。值得注意的是,2019华为开发者大会推出了发布了全新的的EMUI 10系统,并正式宣布了方舟编译器框架的开源,让华为手机的前景更加值得期待。

  取代Java虚拟机,方舟编译器解决卡顿难题

  我们知道,Android系统运行应用程序是在Java语言环境中进行的,需要在虚拟机中先将源代码转换成字节码;然而,预编译的过程是需要时间的——也就是Android系统卡顿的根本原因。

  而方舟编译器取代了Java领域的虚拟机,将Java语言通过一次编译直接转换成机器语言;另一方面,方舟编译器用空间换性能,将编译器的代码优化搬到了开发者环境,最直接的表现就是华为P30系列第三方App的加载速度非常快。

  通俗的来讲就是“没有中间商赚差价”了,效率自然也就变得更高。

  此外,方舟编译器解决了Android虚拟机GC内存回收带来的宕机现象。在系统运行程序的过程中,有一种状态叫做「死锁」。「死锁」指应用程序在“呼叫”阶段没有收到“反馈”信号,反复呼叫而形成卡死。通俗来说,就是陷入了无限循环,而无限循环的程序会大量消耗手机内存,当手机内存不足时就会宕机,这就是我们运行程序时会出现莫名的卡顿甚至程序崩溃的原因。

  而华为P30系列加入的方舟编译器采用了引用计数法来进行内存的实时回收,避免GC集中式回收带来的系统卡顿。相比之下,方舟的内存回收是实时的、非集中式的,且不需要暂停应用进程,这样便大大消除了卡顿。

  说了这么多方舟的好处,我们不妨使用华为P30 Pro体验一下,看看方舟编译器能够带来怎样的体验提升。

  方舟编译器升级日常使用体验

  在日常使用中,方舟编译器能够带给我们怎样的提升呢?举个例子,我手上现在正在使用的就是一台华为P30 Pro,在开启游戏这样的大型软件的过程中,华为P30 Pro经过方舟编译器的预先优化,App的内存循环机制得到了很大的改善,因此加载速度也会非常快,跟朋友以其玩游戏的时候总是得等他们一下。

  不仅是游戏加载过程,应用程序打开的速度也非常快。以微博极速版举例子,我使用华为P30 Pro运行程序,如果在没有广告的情况下,微博极速版完全上是秒开。不仅是点开的迅速,而且是迅速显示至功能界面。正是因为这些App已经在安装过程实现了编译过程,打开时的加载基本上感觉不到。而且淘宝、抖音、百度地图等四十余款的TOP级应用正在适配方舟编辑器,在不久的将来,在华为手机上打开软件就将变得转瞬即逝般迅捷。

  正是因为方舟编译器这样的底层革新,才实现了华为P30 系列领先业界的流畅体验。更为伟大的是,这样的顺畅不只是有华为P30系列手机能享受到。通过开源方舟编译器框架,华为已经为整个行业,为移动应用生态和体验都打开了一扇全新的大门,打开了一个流畅无卡顿的未来。