鸿蒙开发:任务(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模型不支持。

相关推荐
码力码力我爱你14 分钟前
HarmonyOS DevEco Studio的使用练习题
华为·harmonyos
1 小时前
鸿蒙——布局——线性布局
华为·harmonyos
庄雨山1 小时前
Flutter 质量保障体系搭建实战:兼谈开源鸿蒙应用质量管控异同与融合
flutter·openharmony
晚烛9 小时前
Flutter + OpenHarmony 导航与状态管理架构:构建可维护、可扩展、高性能的鸿蒙应用骨架
flutter·架构·harmonyos
萌虎不虎11 小时前
【在鸿蒙系统中实现录制视频预览功能】
华为·音视频·harmonyos
萌虎不虎14 小时前
【鸿蒙ETS中WebSocket使用说明】
websocket·华为·harmonyos
子榆.16 小时前
Flutter 与开源鸿蒙(OpenHarmony)工程化实践:CI/CD、性能监控与多端发布
flutter·开源·harmonyos
夏小鱼的blog17 小时前
【HarmonyOS应用开发入门】第三期:ArkTS语言基础(一)
harmonyos
q_191328469517 小时前
基于SpringBoot2+Vue2的诗词文化传播平台
vue.js·spring boot·mysql·程序员·计算机毕业设计
子榆.19 小时前
Flutter 与开源鸿蒙(OpenHarmony)国际化与无障碍适配指南:打造真正包容的跨平台应用
flutter·华为·开源·harmonyos