最近有开发鸿蒙系统的想法,然后从今天开始写笔记了,首先我先了解下AOD编译器是什么? 网址:developer.huawei.com/consumer/cn…
开启AOT编译模式
更新时间: 2024-06-29 15:33
**
**
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编译模式 |
|---|---|
| type | 默认模式,仅编译类型信息到字节码文件,编译速度最快。 |
| partial | 使用记录高频操作信息的ap文件(Arkcompiler Profile)进行部分编译,编译速度较快。 |
使用AOT编译
-
打开ArkTS工程,同步完成。
-
在模块级build-profile.json5文件中,配置buildOption内的字段。
{ "apiType": 'stageMode', "buildOption": { "aotCompileMode": "type" }, ...} -
当aotCompileMode设置为partial时,需要设置apPath。如果设置为type时,则无需关注此步骤。partial类型配置的示例如下:
"aotCompileMode": "partial" "apPath":"./modules.ap"其中,ap文件获取方式为:
-
打开生成ap文件的开关:
hdc shell param set ark.profile true -
先配置为type类型,打包出HAP后运行在真机上,在需要优化的场景进行操作,从而记录常用操作。
-
操作结束后,真机里记录的ap文件即可放入应用AOT编译使用的目录,通过命令行来获取ap文件:
hdc file recv /data/local/ark-profile/100/{bundle_name}/modules.ap {apPath}- {bundle_name}: 表示包名。
- {apPath}: 表示buildOption设置的apPath参数对应的路径。
-
若设备不再需要获取ap文件,可以通过下面两个方法关闭:
- hdc shell param set ark.profile false
- 设备重启
说明
应用代码变化或常用操作变化时,需要重复以上步骤更新ap文件。
-
使用type编译模式
-
打开ArkTS工程,同步完成。
-
在模块级build-profile.json5文件中,配置buildOption内的字段。
{ "apiType": 'stageMode', "buildOption": { "aotCompileMode": "type" }, ...}
使用partial编译模式
使用partial编译模式需要先使用type模式进行编译,获取到ap文件后,再进行partial模式编译。
-
参考使用type编译模式,配置为type模式,编译HAP。
-
获取ap文件:
-
打开生成ap文件的开关:
hdc shell param set ark.profile true -
将步骤一打包出的HAP后运行在真机上,在需要优化的场景进行操作,从而记录高频操作。
-
操作结束后,真机里记录的ap文件即可放入应用AOT编译使用的目录,通过命令行来获取ap文件:
hdc file recv /data/local/ark-profile/100/{bundle_name}/modules.ap {apPath}- {bundle_name}: 表示包名。
- {apPath}: 表示buildOption设置的apPath参数对应的路径。
-
若设备不再需要获取ap文件,可以通过下面两个方法关闭:
- hdc shell param set ark.profile false
- 设备重启
说明
应用代码变化或常用操作变化时,需要重复以上步骤更新ap文件。
-
-
在模块级build-profile.json5文件中,配置buildOption内的字段。
{ "apiType": 'stageMode', "buildOption": { "aotCompileMode": "partial", "apPath":"./modules.ap" }, ...}
参考信息:编译release版本的HAP
-
在菜单栏点击Run,选择Edit Configurations。
-
左上角点击 + ,选择Hvigor。
-
在Application parameters内配置以下参数:
--mode module -p product=default assembleHap -p debuggable=false配置完成后,点击OK。
-
在右上角点击
启动编译。