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

相关推荐
前端世界4 小时前
HarmonyOS应用开发指南:Toast无法显示的完整排查流程与实战案例
华为·harmonyos
安卓开发者6 小时前
鸿蒙NEXT Wear Engine穿戴侧应用开发完全指南
ubuntu·华为·harmonyos
安卓开发者6 小时前
鸿蒙Next振动开发指南:打造沉浸式触觉反馈体验
华为·harmonyos
Devil枫6 小时前
HarmonyOS屏幕方向适配指南
华为·harmonyos
li理9 小时前
鸿蒙Image Kit深度解析:从图片解码到高级特效处理
harmonyos
li理9 小时前
鸿蒙相机开发中篇:自定义 UI 与拍摄控制
harmonyos
京东云开发者9 小时前
把算法焊死在模型上系列-后端眼中的RAG平台架构
程序员
京东云开发者10 小时前
探索无限可能:生成式推荐的演进、前沿与挑战【AI业务应用方向】
程序员
SimonKing10 小时前
Mybatis-Plus的竞争对手来了,试试 MyBatis-Flex
java·后端·程序员
文心快码BaiduComate11 小时前
Comate Zulu实测:不会编程也能做软件?AI程序员现状令人震惊
java·程序员·前端框架