鸿蒙中为什么要用ArkCompiler?

发布于:2025-08-19 ⋅ 阅读:(19) ⋅ 点赞:(0)

先看官方的介绍

ArkCompiler

是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。

AOT 编译模式

ArkCompiler 利用 ArkTS 的静态类型信息,进行类型推导并生成对象描述和内联缓存,加速运行时对字节码的解释执行;AOT(Ahead-of-Time)Compiler 利用静态类型信息结合 Profiling 信息直接将字节码编译生成优化机器码,让应用启动即可运行高性能代码,提升应用启动和运行性能。

LiteActor 轻量化并发

ArkCompiler 运行时在 HarmonyOS 上提供了 Taskpool 和 Worker 支持并发编程。在运行时实例内存隔离的基础上,通过共享运行实例中的不可变或者不易变的对象、内建代码块、方法字节码等技术手段,优化了并发运行实例 的启动性能和内存开销。

好的!咱们用最「小白」的方式,聊聊鸿蒙的 方舟编译器 (ArkCompiler) 是干什么的,以及它神奇的「编译过程」

简单比喻:编译器就像个「超级翻译官 + 优化大师」

想象一下:

  1. 你(程序员) 用人类容易理解的语言(比如 Java, Kotlin, JavaScript)写了一堆 指令 (源代码)。这就像你用 中文 写了一本「如何做一道美味红烧肉」的菜谱。

  2. 你的手机/手表/电视 (CPU) 只懂一种超级简单的、由 0 和 1 组成的 机器语言。这就像你的厨房炉灶只认得 摩斯密码 写的操作指令!

  3. 问题来了:你的中文菜谱,炉灶(CPU)根本看不懂啊!怎么办?

这时候就需要「编译器」出场了!

  • 传统编译器 (比如安卓的): 像个 现场翻译官

    • 你每次要做红烧肉(启动 App),翻译官(编译器的一部分,叫 JIT 编译器)就站在炉灶旁边。

    • 你念一句中文菜谱(运行一行代码),翻译官就立刻翻译成一句摩斯密码(机器码)告诉炉灶。

    • 缺点: 边念边翻译,速度慢! 炉灶经常要停下来等翻译,做菜(运行 App)就卡卡的。翻译官(虚拟机)自己也要占地方、吃饭(消耗内存和CPU)。

  • 鸿蒙的方舟编译器 (ArkCompiler): 像个 提前准备的超级优化大师

    • 在你把菜谱(App)交给厨房(安装到手机)之前,优化大师(ArkCompiler)就 提前 把你的 整本中文菜谱, 一口气 翻译、优化、整理成 炉灶最熟悉、最高效的摩斯密码操作手册 (机器码)

    • 等你要做菜(打开 App)时,炉灶(CPU)直接拿起这本优化好的摩斯密码手册 就开始干活!

    • 好处:

      • 快! 没有现场翻译的等待,启动飞快,操作流畅。

      • 省! 不需要那个一直站在旁边的翻译官(虚拟机)了,省内存省电。

      • 顺! 优化大师整理的手册步骤清晰合理,炉灶干活更顺畅,不容易卡顿

方舟编译器的「编译过程」简化版(小白视角)

  1. 你写代码 (源代码): 就像用中文(Java/JS等)写菜谱。[程序员阶段]

  2. 交给方舟编译器 (编译开始): 你把菜谱交给优化大师 ArkCompiler。[App 开发完成,准备发布]

  3. 拆解 & 理解 (解析): 大师先仔细阅读你的中文菜谱,理解每一句话的意思和步骤之间的关系。[编译器前端:词法分析、语法分析、语义分析]

  4. 优化 & 改写 (优化 + 生成中间表示): 大师边看边想:

    • “这一步可以跟下一步合并,省时间!”

    • “这个材料可以提前准备好,不用临时切!”

    • 他把你的菜谱用一种 内部通用语言 重新整理、优化了一遍,记录在优化笔记上。这一步做了大量的性能提升魔法[编译器中端:各种优化发生在中间表示上]

  5. 翻译成摩斯密码 (生成机器码): 大师根据他那本超级优化的笔记,从头到尾 翻译成炉灶(手机 CPU)能直接看懂的 摩斯密码手册 (机器码)[编译器后端:目标代码生成]

  6. 打包成 App (安装包): 这本优化好的摩斯密码手册(机器码),和其他必要的图片、声音等资源,一起打包成 .hap 文件(鸿蒙 App 安装包)。[生成最终安装文件]

  7. 你安装 App: 把打包好的 .hap 文件装到你的鸿蒙设备(手机/手表等)上。此时,编译好的机器码就已经在里面了!

  8. 你点开 App (运行): 设备 CPU 直接读取 安装时就准备好的、优化好的 摩斯密码手册 (机器码),立刻开始干活!没有现场翻译!没有中间商赚差价! 所以感觉就是:嗖~ 一下就打开了!滑起来丝般顺滑

方舟编译器带来的「爽点」总结

  • App 打开像闪电: 因为 CPU 直接运行最终指令,不用边运行边翻译。

  • 操作如德芙般丝滑: 优化做得好,CPU 干活顺畅,垃圾清理(内存回收)也更快更安静,卡顿大大减少。

  • 手机更省电耐用: 省掉了虚拟机这个“中间商”的消耗,CPU 不用额外干活去翻译,自然更省电,长期用也不容易变卡。

  • 一个系统,多种设备都流畅: 不管是手机、手表还是电视,方舟编译器都能为它们各自的 CPU 提前准备好最合适的“摩斯密码手册”,保证体验一致流畅。

一句话记住方舟编译器

它就是一个「提前把 App 代码变成手机 CPU 最爱吃的‘营养膏’(机器码)的神器」,让 App 在鸿蒙设备上跑得又快又顺又省电!

这样解释是不是清楚多啦?它干的活虽然很深奥,但目标很简单:让你的鸿蒙设备用起来 ! 😄


网站公告

今日签到

点亮在社区的每一天
去签到