HarmonyOS 鸿蒙Next HAP加载后,怎么知道先加载哪一个AbilityStage,再加载哪一个Ability

HarmonyOS 鸿蒙Next HAP加载后,怎么知道先加载哪一个AbilityStage,再加载哪一个Ability

在自动建立HELLO CANGJIE例程中,有文件modules.json5,

{

  “module”: {

    “name”: “entry”,

    “type”: “entry”,

    “description”: “$string:module_desc”,

    “mainElement”: “EntryAbility”,

    “deviceTypes”: [

      “phone”

    ],

    “deliveryWithInstall”: true,

    “installationFree”: false,

    “srcEntry”: “ohos_app_cangjie_entry.MyAbilityStage”,

    “abilities”: [

      {

        “name”: “EntryAbility”,

        “srcEntry”: “ohos_app_cangjie_entry.MainAbility”,

指明了module建立后调用AbilityState是MyAbilityStage,然后管理的abilities第一个就是Ability就是MainAbility.

在学习Ability框架时

根据AbilityStage章节案例,建立一个AbilityStage

func createAbilityStage(): MyAbilityStage {

    MyAbilityStage()

}

let ABILITY_STAGE_REGISTER_RESULT = AbilityStage.registerCreator(“entry”, createAbilityStage)

根据Ability章节案例,建立一个Ability

var globalAbilityContext: Option<AbilityContext> = Option<AbilityContext>.None

class MainAbility <: Ability {

    public init() {

        super()

        registerSelf()

    }

func createAbility(): MainAbility {

    MainAbility()

}

let ABILITY_REGISTER_RESULT = Ability.registerCreator(“CangjieAbility”, createAbility)

不明白的是,在没有modules.json5文件的情况下,怎么明确先运行哪一个AbilityStage,再加载哪一个Ability?

或者说,如果不用modules.json5指明,怎么编程实现先运行哪一个AbilityStage,再加载哪一个Ability吗?

3 回复
前提就是要有 modules.json5 文件啊。

更多关于HarmonyOS 鸿蒙Next HAP加载后,怎么知道先加载哪一个AbilityStage,再加载哪一个Ability的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


没有modules.json5文件 你模块不报错?

在HarmonyOS 鸿蒙Next中,HAP(Harmony Ability Package)加载后,关于AbilityStage和Ability的加载顺序,可以明确以下几点:

  1. AbilityStage加载:每个Module在首次加载时会创建一个对应的AbilityStage实例。由于AbilityStage与Module一一对应,因此加载顺序主要由Module的加载顺序决定。通常,entry类型的Module(即应用的主模块)会首先被加载,其对应的AbilityStage也会随之创建。
  2. Ability加载:在AbilityStage创建完成后,会开始加载对应Module中的Ability。加载顺序通常取决于开发者在代码中的配置以及应用的启动逻辑。例如,在启动框架AppStartup中,开发者可以配置启动任务的依赖关系和执行线程,从而影响Ability的加载顺序。

总之,HarmonyOS 鸿蒙Next通过精心设计的加载机制,确保了应用的各个组件能够按照预期的顺序和方式被加载和执行。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!