往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)
Hvigor守护进程
守护进程是作为后台进程运行而不是在交互式用户的直接控制下运行的计算机程序。Hvigor守护进程是一个持续存在的后台进程,可以减少运行构建所需的时间。
了解守护进程
Hvigor客户端发送Daemon构建信息,如命令行参数、工程目录和环境变量等,以便于运行构建。客户端和守护进程之间的通信通过本地套接字进行连接,正在运行守护进程同时最多开启8个,状态为非停止或中断的守护进程最多开启6个。
启用禁用守护进程
Hvigor默认启用守护进程,您也可以通过以下几种方式来控制是否启用守护进程:
- 执行命令:
// 启用守护进程 hvigorw <task> --daemon // 关闭守护进程 hvigorw <task> --no-daemon
- 在hvigor-config.json5中配置execution.daemon选项。
- 点击File > Settings > Build, Execution, Deployment > Build Tools > Hvigor,勾选或去勾选字段Enable the Daemon for tasks。
设置守护进程内存
守护进程默认内存是8192 MB,对绝大多数构建来说已经足够了。如果您想自定义守护进程的内存,可以通过以下两种方式修改,建议您参考本地剩余内存进行调整设置。其中命令行方式优先级高于hvigor-config.json5配置文件。
- 修改hvigor-config.json5文件中的nodeOptions.maxOldSpaceSize配置。
- 执行命令修改守护进程内存,示例如下:
hvigorw assembleHap --max-old-space-size=12345
检查守护进程状态
如果您想获取正在运行的守护进程及其状态的列表,可以使用以下命令查看:
hvigorw --status-daemon
> hvigor PID STATUS PORT ROOT_PATH
> hvigor 11072 idle 45001 D:\Demo1
> hvigor 18836 stopped 45000 D:\Demo2
守护进程状态 | 状态描述 |
---|---|
idle | 闲置 |
half_busy | 半忙碌 |
busy | 忙碌 |
canceled | 取消 |
stopReq | 停止请求 |
stopped | 停止 |
broken | 中断 |
停止守护进程
在更改关于守护进程内存设置或调试故障时,重启守护进程是必要的。
您可用以下命令停止运行守护进程,这将停止该工程下的守护进程:
hvigorw --stop-daemon
如果您想停止所有守护进程,您可以使用以下命令:
hvigorw --stop-daemon-all
性能影响
当您重复构建同一项目时,守护进程可以将构建时间缩短。多次构建时,守护进程只会将hvigor一次性加载到内存中,而不是每一次构建。