微信扫一扫
分享到朋友圈

「热门」华为展示方舟编译器,要让安卓彻底改头换面?

作者:Zealer订阅号 来源:Zealer订阅号 公众号
分享到:

04-27


在之前的华为 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 系列是否在长时间使用后依然流畅的结论。


另一方面,方舟编译器能否真正得到大规模推广普及,目前也还很难说。毕竟每个应用开发商和手机厂商都有自己的考虑。不过可以确定的是,华为和荣耀未来的新机将很有技能会继续采用这个工具,我们不妨期待一下。






*已购买用户可加 Q 群:631042704

(加群时需提供交易单号)



记得帮忙点个“在看”哟

阅读39216
举报0
关注Zealer订阅号微信号:zealertech

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“Zealer订阅号”微信公众号,文章版权归Zealer订阅号公众号所有。

评论
更多

文章来自于公众号:

Zealer订阅号

微信号:zealertech

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。