首页 / 行业
华为展示方舟编译器,要让安卓彻底改头换面?
2019-04-28 11:05:00
在之前的华为 P30 中国发布会上,华为曾表示通过方舟编译器可实现系统操作流畅度提升 24%,系统响应提升 44%,第三方应用操作流畅度提升 60%。其可以说是华为 P30 系列体验背后的最大功臣之一。
4 月 25 日下午,华为在北京举行了“华为有技术 EMUI 媒体沙龙”活动。在这次活动上,华为首次站在官方的角度,详细解释了 P30 系列在 EMUI 9.1 系统中所使用的方舟编译器的应用原理。
今天,小雷(微信:leitech)就在第一时间为大家解读华为这项新技术,看看方舟编译器到底神奇在何处。
首先我们要了解一下什么是编译器。简单来说,编译器就是将我们能够理解的语言翻译为计算机能够理解的以 0 和 1 构成的语言。
就像我们和外国人交流一样,语言不同是很难沟通的,但只要将其中一种语言翻译成对方能听得懂的语言,就能交流成功了。
华为方舟编译器最大的特点在于,它是业内第一款支持多语言联合优化的编译器,也就是说无论是 C/C++还是 Java 都支持。
因此面对采用混合语言开发的安卓应用,方舟编译器可以在开发环境中编译成统一的流程,通过统一的程序表示和优化来执行,效率更高。
也就是说,现有安卓的运行机制就像是两个人各自准备任务,最后将他们的准备的结果综合在一起执行。而方舟编译器则是让这两个人一起准备,之后再一同执行任务。
安卓系统本身的编译是要通过 ART 虚拟机运行,因此系统资源占用较大。而方舟编译器则是在开发的时候就已经完成了静态编译,因此不需要依赖手机本身编译。
打个比方,以开卷考试为例,一个学生是在考试之前就预习好了可能会考到的知识点,做好了对应内容的标记,拿到卷子就迅速动笔;而另一个学生则是靠“临场发挥”,在考场上临时翻阅资料,占用大量考试时间。
同时,方舟编译器还提供了更高效的内存回收机制。由于不需要经过虚拟机,应用在运行过程中不需要暂停,同时随时回收内存,而不是将垃圾堆在一起回收。
方舟编译器还有一大核心功能就是对代码进行优化。所谓代码优化,就是为程序带来更高的性能。
举个很简单的例子,就是同一个人考两次试,怎么才能让第二次比第一次考的更好,其实就是要对复习进行优化。
前面说到,现有安卓系统的动态编译是利用 ART 虚拟机在机器上执行,而方舟编译器则是在开发的时候进行静态编译。
因此,前者只能采用简单的优化算法,而后者可以突破手机机能限制,根据不同的应用采用不同的编译和优化算法。
最后,华为方舟编译器还有一大亮点是学习和使用成本低。由于在 APP 发布之前的打包阶段就已经集成了编译环境,因此对于开发者来说,整个流程其实是被简化了,使用下来更方便。
华为表示,方舟编译器将从 2019 年开始全面开源。这也就是说无论是手机厂商,还是应用开发者都可以使用方舟编译器来优化应用的性能。
总的来说,通过华为方舟编译器编译应用相比现有安卓的优势主要在于:
1、释放机器编译压力,在开发时完成应用的静态编译,不经过ART虚拟机。
2、采用不同类型的应用优化方案,让应用运行效果达到最优。
3、提供更有效的内存回收机制,提升系统流畅度。
4、简化编译流程,降低开发者学习和使用成本。
除了方舟编译器外,华为还介绍了让系统流畅运行的另外一大关键点,就是 EROFS 超级文件系统。
相比之前的 F2FS 文件系统,P30 系列所采用的 EROFS 文件系统可以提升 20%的随读性能,机身可用存储空间增加 2GB,并采用只读设计。
对比另外一个只读压缩文件系统 squashfs,EROFS 最明显的优势是几乎不存在无效读取。
但由于采用更安全的 EROFS,本质上 P30 的系统会比以前的华为机型更加封闭。EROFS 是一个完全只读设计的文件系统,其不允许用户像之前 Ext4 文件系统那样支持可读写,这样设备本身更安全,但可玩性会相对更低。
根据华为官方公布的日程,方舟编译器将于 2019 年 8 月的华为终端开发者大会上开源编译框架代码,并于 2019 年 11 月的绿盟开发者大会上公布完整的方舟编译器代码。
在小雷个人看来,方舟编译器是华为在解决安卓应用编译方面提供的一种全新的思路,理论上看是不错的方案,但就目前而言还无法验证得出 P30 系列是否在长时间使用后依然流畅的结论。
另一方面,方舟编译器能否真正得到大规模推广普及,目前也还很难说。毕竟每个应用开发商和手机厂商都有自己的考虑。不过可以确定的是,华为和荣耀未来的新机将很有技能会继续采用这个工具,我们不妨期待一下。
最新内容
手机 |
相关内容
多用途可回收纳米片面世,可用于电子
多用途可回收纳米片面世,可用于电子、能源存储、健康和安全等领域,能源,健康,传感器,结构,用于,芯片,近年来,纳米技术的快速发展给各梦芯科技独立北斗芯片模块MXT2721
梦芯科技独立北斗芯片模块MXT2721隆重发布,芯片,北斗,模块,能力,导航,支持,梦芯科技是一家致力于研发和生产半导体产品的高科技公司半导体主控技术:驱动自动驾驶革命的
半导体主控技术:驱动自动驾驶革命的引擎,自动驾驶,交通,自动驾驶系统,数据,车辆,自动,随着科技的不断进步,自动驾驶技术已经成为现实电容式触摸按键屏中应用的高性能触
电容式触摸按键屏中应用的高性能触摸芯片,芯片,位置,触摸屏,能力,响应,用户,电容式触摸按键屏(Capacitive Touch Key Screen)是一种常晶振在激光雷达系统中的作用
晶振在激光雷达系统中的作用,作用,系统,激光雷达,晶振,可靠性,选择,激光雷达(Lidar)是一种利用激光进行测距的技术,广泛应用于自动驾驶苹果即将推出Mac系列新品,或搭载3nm
苹果即将推出Mac系列新品,或搭载3nm M3芯片,芯片,搭载,推出,全新,市场,研发,近日,有关苹果即将推出新一代Mac系列产品的消息引起了广Arbe 4D成像雷达以高分辨率雷达技
Arbe 4D成像雷达以高分辨率雷达技术和先进处理技术消除“幽灵刹车”问题,刹车,成像,分辨率,系统,目标,数据,Arbe 4D成像雷达是一种浅析动力电池熔断器的基础知识及选
浅析动力电池熔断器的基础知识及选型,动力电池,时切,系统安全,作用,产品,系统,BA4558F-E2动力电池熔断器是用于保护动力电池系统安