鸿蒙开发:任务(Mission)与启动模式

任务(Mission)与启动模式

如前文所述,一个UIAbility实例对应一个任务。UIAbility实例个数与UIAbility配置的启动模式有关。在FA模型下,通过config.json配置文件中的"launchType"属性配置;在Stage模型下,通过[module.json5配置文件]中的"launchType"属性配置。

下面介绍了任务管理如何实现以下三种启动模式UIAbility组件的管理:

  • singleton:单实例模式,应用在运行时只存在一个该UIAbility实例。

    图1 任务与singleton模式

  • multiton:多实例模式,每次调用startAbility()方法,都会在应用进程中创建一个该UIAbility实例。

    图2 任务与multiton模式

  • specified:指定实例模式,由[AbilityStage]的(onAcceptWant())决定是否创建新的UIAbility实例。

    图3 任务与specified模式

每个UIAbility实例都对应了一个最近任务列表中看到的Mission(任务)。

每个UIAbility实例对应的Mission都保留有该UIAbility实例的快照(Snapshot),UIAbility实例销毁后,Mission信息(包括UIAbility信息和任务快照)依然会保留,直到用户删除该任务。

说明:

specified模式只在Stage模型上支持,FA模型不支持。

相关推荐
祥睿夫子16 分钟前
零基础搞定 ArkTS 类与对象!保姆级教程:定义→创建→测试全流程 + 代码示例
harmonyos
大模型教程3 小时前
12天带你速通大模型基础应用(二)自动化调优Prompt
程序员·llm·agent
程序员潘Sir3 小时前
HarmonyOS实现快递APP自动识别地址
harmonyos·鸿蒙
萌虎不虎3 小时前
【鸿蒙(openHarmony)自定义音频播放器的开发使用说明】
华为·音视频·harmonyos
AI大模型3 小时前
无所不能的Embedding(02) - 词向量三巨头之FastText详解
程序员·llm·agent
李洋-蛟龙腾飞公司3 小时前
HarmonyOSAI编程万能卡片生成(一)
华为·ai编程·harmonyos
SimonKing3 小时前
Apache Commons Math3 使用指南:强大的Java数学库
java·后端·程序员
AI大模型3 小时前
无所不能的Embedding(03) - word2vec->Doc2vec[PV-DM/PV-DBOW]
程序员·llm·agent
HarmonyOS_SDK5 小时前
打破场景边界,支付宝联合实况窗提供全新出行服务体验
harmonyos