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 NEXT)学习路径和一些资料的整理供小伙伴学习
点击领取→纯血鸿蒙Next全套最新学习资料希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取~~
一、鸿蒙(HarmonyOS NEXT)最新学习路线
有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)…等技术知识点。
获取以上完整版高清,请点击→纯血版全套鸿蒙HarmonyOS学习资料
二、HarmonyOS Next 最新全套视频教程
三、《鸿蒙 (OpenHarmony)开发基础到实战手册》
OpenHarmony北向、南向开发环境搭建
四、大厂面试必问面试题
五、鸿蒙南向开发技术
六、鸿蒙APP开发必备
完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料
总结
总的来说,对于大家来说ye是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。