HarmonyOS—开启AOT编译模式

AOT(Ahead Of Time)即提前编译,能够在Host端(即运行DevEco Studio的电脑)将字节码提前编译成Target端(即运行应用的设备)可运行的机器码,这样字节码可以获得充分编译优化,放到Target端运行时可以获得加速。

对性能有高要求的开发者可通过在DevEco Studio完成相关的编译配置,开启AOT编译模式,提升应用运行性能。

说明

  • 当前仅支持API 9及以上版本Stage模型的ArkTS工程。
  • Node.js需要10.14以上版本。
  • 仅支持在64位ROM上运行。

AOT编译模式

在模块级build-profile.json5文件中,buildOption内的aotCompileMode字段可以设置为以下值,对应不同的AOT模式。

使用AOT编译

1.打开ArkTS工程,同步完成。

2.在模块级build-profile.json5文件中,配置buildOption内的字段。

复制代码
{
  "apiType": 'stageMode',
  "buildOption": {
    "aotCompileMode": "type"
  },
  ...
}

3.当aotCompileMode设置为partial时,需要设置apPath。如果设置为type时,则无需关注此步骤。partial类型配置的示例如下:

复制代码
"aotCompileMode": "partial" 
"apPath":"./modules.ap"

其中,ap文件获取方式为:

a.打开生成ap文件的开关:

复制代码
hdc shell param set ark.profile true

b.先配置为type类型,打包出HAP后运行在真机上,在需要优化的场景进行操作,从而记录常用操作。

c.操作结束后,真机里记录的ap文件即可放入应用AOT编译使用的目录,通过命令行来获取ap文件:

复制代码
hdc file recv /data/local/ark-profile/100/{bundle_name}/modules.ap {apPath}

i.{bundle_name}: 表示包名。

ii.{apPath}: 表示buildOption设置的apPath参数对应的路径。

4.若设备不再需要获取ap文件,可以通过下面两个方法关闭:

  • hdc shell param set ark.profile false
  • 设备重启

说明

应用代码变化或常用操作变化时,需要重复以上步骤更新ap文件。

4.编译release版本的HAP。

使用type编译模式

1.打开ArkTS工程,同步完成。

2.在模块级build-profile.json5文件中,配置buildOption内的字段。

复制代码
{
  "apiType": 'stageMode',
  "buildOption": {
    "aotCompileMode": "type"
  },
  ...
}

3.编译release版本的HAP。

使用partial编译模式

使用partial编译模式需要先使用type模式进行编译,获取到ap文件后,再进行partial模式编译。

1.参考使用type编译模式,配置为type模式,编译HAP。

2.获取ap文件:

a.打开生成ap文件的开关:

复制代码
hdc shell param set ark.profile true

b.将步骤一打包出的HAP后运行在真机上,在需要优化的场景进行操作,从而记录高频操作。

c.操作结束后,真机里记录的ap文件即可放入应用AOT编译使用的目录,通过命令行来获取ap文件:

复制代码
hdc file recv /data/local/ark-profile/100/{bundle_name}/modules.ap {apPath}

i.{bundle_name}: 表示包名。

ii.{apPath}: 表示buildOption设置的apPath参数对应的路径。

4.若设备不再需要获取ap文件,可以通过下面两个方法关闭:

  • hdc shell param set ark.profile false
  • 设备重启

说明

应用代码变化或常用操作变化时,需要重复以上步骤更新ap文件。

3.在模块级build-profile.json5文件中,配置buildOption内的字段。

复制代码
{
  "apiType": 'stageMode',
  "buildOption": {
     "aotCompileMode": "partial",
     "apPath":"./modules.ap"
  },
  ...
}

4.编译release版本的HAP。

参考信息:编译release版本的HAP

1.在菜单栏点击Run ,选择Edit Configurations。

2.左上角点击+,选择Hvigor。

3.在Application parameters内配置以下参数:

复制代码
--mode module -p product=default assembleHap -p debuggable=false

配置完成后,点击OK

4.在右上角点击启动编译。


作为一名合格一线开发程序员,大家心里肯定会有很多疑问!鸿蒙系统这么强大~~

为了能够让大家跟上互联网时代的技术迭代,在这里跟大家分享一下我自己近期学习心得以及参考网上资料整理出的一份最新版的鸿蒙学习提升资料 ,有需要的小伙伴自行领取,限时开源,先到先得~~~~

领取以下高清学习路线原图请点击→《鸿蒙基础入门学习指南》纯血鸿蒙HarmonyOS基础技能学习路线图

领取以上完整高清学习路线图,请点击→《鸿蒙 (Harmony OS)开发学习手册》小编自己整理的部分学习资料(包含有高清视频、开发文档、电子书籍等)

以上分享的学习路线都适合哪些人跟着学习?

-应届生/计算机专业

通过学习鸿蒙新兴技术,入行互联网,未来高起点就业。
-0基础转行

提前布局新方向,抓住风口,自我提升,获得更多就业机会。
-技术提升/进阶跳槽

发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术,享受蓝海红利。

总结

如果你觉得这篇内容对你有帮助,我想麻烦大家动动小手给我:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注我,同时可以期待后续文章ing,不定期分享原创知识。

想要获取更多完整鸿蒙最新VIP学习资料,请点击→《鸿蒙全套学习指南

相关推荐
SuperHeroWu73 小时前
【HarmonyOS AI赋能】朗读控件详解
华为·ai·harmonyos·朗读·赋能·speechkit·场景化语音
辰熙咨询洪千武9 小时前
读《华为基本法》,聚焦可复用的方法论
华为
大雷神11 小时前
Flutter鸿蒙开发
flutter·华为·harmonyos
●VON13 小时前
重生之我在大学自学鸿蒙开发第二天-《MVVM模式》
学习·华为·harmonyos
安卓开发者14 小时前
鸿蒙NEXT USB Host模式开发完全指南
华为·harmonyos
程序员潘Sir18 小时前
鸿蒙应用开发从入门到实战(二十一):ArkUI自定义弹窗组件
harmonyos·鸿蒙
前端世界18 小时前
从0到1实现鸿蒙智能设备状态监控:轻量级架构、分布式同步与MQTT实战全解析
分布式·架构·harmonyos
2503_9284115619 小时前
10.9 鸿蒙创建和运行项目
android·华为·harmonyos
爱笑的眼睛111 天前
深入浅出ArkTS:HarmonyOS应用开发的现代化语法解析
华为·harmonyos
Kisang.2 天前
【HarmonyOS】窗口管理实战指南
前端·华为·typescript·harmonyos·鸿蒙