0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

4Adf_zealertech 来源:YXQ 2019-04-28 11:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    218

    文章

    36194

    浏览量

    262700
  • 安卓
    +关注

    关注

    5

    文章

    2187

    浏览量

    60536
  • 方舟编译器
    +关注

    关注

    0

    文章

    63

    浏览量

    823

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

文章出处:【微信号:zealertech,微信公众号:ZEALER】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    主板定制_MTK联发科系统主板PCBA方案开发

    在智能设备迅速发展的浪潮中,系统凭借其开源灵活性与强大的生态系统,已成为物联网终端、工业控制设备及消费电子行业的核心选择。而作为智能设备的“心脏”,主板的性能、功耗及扩展性直接
    的头像 发表于 12-26 20:31 706次阅读
    <b class='flag-5'>安</b><b class='flag-5'>卓</b>主板定制_MTK联发科<b class='flag-5'>安</b><b class='flag-5'>卓</b>系统主板PCBA方案开发

    性能突破 | SpacemiT-X60 在 LLVM 编译器上实现 16% 显著提升

    2025年10月,在北美RISC-V峰会上,Igalia编译器工程师Mikhail发表专题演讲《Unlocking15%MorePerformance
    的头像 发表于 11-21 18:04 9126次阅读
    性能突破 | SpacemiT-X60 在 LLVM <b class='flag-5'>编译器</b>上实现 16% 显著提升

    开源鸿蒙技术大会2025丨编译器与编程语言分论坛:语言驱动系统创新,编译赋能生态繁荣

    在万物智联的时代背景下,操作系统底层能力的构建离不开编程语言与编译器的关键支撑。作为开源鸿蒙生态的核心技术,语言设计与编译器、虚拟机实现的进步直接关系到开发效率、运行性能与系统安全。本次分论坛聚焦
    的头像 发表于 11-20 17:24 1171次阅读
    开源鸿蒙技术大会2025丨<b class='flag-5'>编译器</b>与编程语言分论坛:语言驱动系统创新,<b class='flag-5'>编译</b>赋能生态繁荣

    GCC编译器,怎么才能实现c文件中未被调用的函数,不会被编译呢?

    GCC编译器,怎么才能实现c文件中未被调用的函数,不会被编译?有什么编译选项可以设置吗? 移植代码,有些函数没被调用的函数想留在代码里,但不想被编译
    发表于 09-28 12:25

    如何在Keil中将NuMicro BSP从Arm编译器5迁移到编译器6?

    在Keil中将NuMicro BSP从Arm编译器5迁移到编译器6!
    发表于 08-20 06:29

    边缘设备AI部署:编译器如何实现轻量化与高性能?

    电子发烧友网综合报道 AI编译器是专门为人工智能(AI)和机器学习(ML)模型设计的编译器,其核心目标是将高级的AI模型描述(如计算图、神经网络结构)转换为特定硬件平台(如CPU、GPU、FPGA
    的头像 发表于 07-06 05:49 6939次阅读

    编译器功能安全验证的关键要素

    在汽车、工业、医疗等安全关键型应用中,确保功能安全合规性需要严格的工具链验证。开发安全关键型软件的企业必须遵守ISO 26262、IEC 61508、ISO 62304等国际标准对编译器工具链进行全面的验证。
    的头像 发表于 07-05 13:37 1702次阅读

    如何实现与恩智浦i.MX RT1170的无线投屏与控制

    Scrcpy是一款免费开源的软件,支持将端屏幕投影到其他设备,并支持被投屏设备对的反向控制。基于ADB工具,
    的头像 发表于 06-26 09:53 2573次阅读
    如何实现<b class='flag-5'>安</b><b class='flag-5'>卓</b>与恩智浦i.MX RT1170的无线投屏与控制

    原生兼容服务

    原生兼容服务的定义 原生兼容服务‌指基于Android系统内核和服务框架构建的服务
    的头像 发表于 06-19 17:32 688次阅读

    兆松科技ZCC编译器全面支持芯来科技NA系列处理

    近日,兆松科技(武汉)有限公司(以下简称“兆松科技”)宣布正式发布高性能RISC-V编译器ZCC 4.0.0版本。
    的头像 发表于 06-11 09:56 2010次阅读

    RISC-V架构下的编译器自动向量化

    进迭时空专注于研发基于RISC-V的高性能新AICPU,对于充分发挥CPU核的性能而言,编译器是不可或缺的一环,而在AI时代,毫无疑问向量算力将发挥越来越重要的作用。进迭时空非常重视RISC-V
    的头像 发表于 06-06 16:59 1445次阅读
    RISC-V架构下的<b class='flag-5'>编译器</b>自动向量化

    请问CYUSB3014支持驱动吗?

    [i]请问CYUSB3014 支持设备吗?应该使用什么驱动呢
    发表于 05-30 07:12

    迅为RK3588开发板GPIO调用APP运行测试

    将网盘上的工程文件复制到 Windows 电脑上。确保工程路径中使用英文字符,不包含中文。接着,启动 Android Studio,点击“Open”按钮选择应用工程文件夹,然后点击“OK”。由于
    发表于 05-13 10:49

    RVCT编译器是否比GNU的编译器的代码执行速度更快?

    使用FX3S遇到了RVCT编译器的问题。 1、在SDK的release note中有支持RVCT的描述, 但是在EZ USB Suite的设置中没有找到RVCT的选项, 请问支持的具体版本
    发表于 05-08 07:49

    HighTec编译器全面支持芯驰科技车规MCU芯片E3650

    近日,HighTec与芯驰科技共同宣布HighTec编译器套件将全面支持芯驰新一代旗舰智控MCU-E3650芯片。此次合作,进一步丰富了芯驰车芯产品的工具链生态,双方将携手为客户提供高性能、高安全性的解决方案。
    的头像 发表于 04-28 15:20 1987次阅读