对于多HAP的应用,每个HAP的业务相对独立,如果开发者希望不同HAP的UIAbility运行在不同的进程,可以在module.json5配置文件中将isolationMode字段配置为isolationOnly(只在独立进程中运行)?有没有相关代码可以实现这个功能呢?#跟着万少学鸿蒙
对于多HAP的应用,每个HAP的业务相对独立,如果开发者希望不同HAP的UIAbility运行在不同的进程,可以在module.json5配置文件中将isolationMode字段配置为isolationOnly(只在独立进程中运行)?有没有相关代码可以实现这个功能呢?#跟着万少学鸿蒙
您需要先 登录 才能评论/回答
全部评论(1)
其他进程类型
在2in1和Tablet设备上,针对UIAbility,还支持如下特殊进程类型:
- 模块独立进程:对于多HAP的应用,每个HAP的业务相对独立,如果开发者希望不同HAP的UIAbility运行在不同的进程,可以在module.json5配置文件中将isolationMode字段配置为isolationOnly(只在独立进程中运行)或者isolationFirst(优先在独立进程中运行),那么该HAP下的所有UIAbility将运行在统一的独立的进程中。如图2中UIAbilityC运行在“Main Process2”, 而不是“Main Process1”。
- 动态指定进程:当同一HAP中的UIAbility实例需要根据运行时状态(如每个进程最多支持5个实例)动态分配到不同进程时,开发者可以在module.json5配置文件中将该UIAbility的isolationProcess字段配置为true,如图2中的UIAbilityD。系统在启动UIAbilityD实例时,回调主控进程的onNewProcessRequest,开发者在该回调中返回自定义的一个字符串,如果返回的字符串是开发者曾创建的,则复用该标识所在的进程,否则创建新的进程。如图2中的 “Main Processes3”和“Main Process4”则是UIAbilityD运行的多个进程。
- 静态指定进程:当同一应用中的UIAbility或EmbeddedUIExtensionAbility需要运行到不同进程时,开发者可以将module.json5配置文件的abilities标签中的process字段或extensionAbilities标签中的process字段配置为不同的字符串。系统在启动UIAbility或EmbeddedUIExtensionAbility时,会根据这个字符串分配进程。如果同一应用的多个UIAbility和多个EmbeddedUIExtensionAbility的process字段都配置了相同的字符串,则这些UIAbility和EmbeddedUIExtensionAbility都会运行在同一个进程内。如图2中的 “Main Process5”。
- 子进程: 如果开发者希望开启多进程做一些后台业务,可以调用childProcessManager中的接口创建子进程。子进程的生命周期跟随父进程,父进程消亡,子进程跟随消亡。如图2中的“ArkTS Child Process”和“Native Child Process”是主进程创建的子进程。子进程不支持再创建子进程。
-
其他进程类型
-

#跟着万少学鸿蒙
2025-11-13 22:16:05