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

相关推荐
●VON1 天前
在鸿蒙 PC 上使用 Electron 获取本机 IP 地址
tcp/ip·electron·harmonyos
汉堡黄1 天前
鸿蒙开发:案例集合Tabs:tabs竖向粘性
harmonyos
威哥爱编程1 天前
【鸿蒙开发实战篇】如何基于一多能力实现响应式布局
harmonyos·arkts·arkui
威哥爱编程1 天前
【鸿蒙开发实战篇】如何实现高级图片滤镜
harmonyos·arkts·arkui
威哥爱编程1 天前
【鸿蒙开发实战篇】强大的跨应用数据分享与应用内文件共享
harmonyos·arkts·arkui
威哥爱编程1 天前
【鸿蒙开发实战篇】如何利用 3D渲染引擎实现高性能动态滤镜特效
harmonyos·arkts·arkui
威哥爱编程1 天前
【鸿蒙开发实战篇】滤镜效果图高效分享
harmonyos·arkts·arkui
S***q1921 天前
HarmonyOS应用沙盒机制
华为·harmonyos
威哥爱编程1 天前
【鸿蒙开发实战篇】鸿蒙6.0图片编辑实战:PixelMap与Canvas的完美结合
harmonyos
威哥爱编程1 天前
【鸿蒙开发实战篇】鸿蒙跨设备的碰一碰文件分享
harmonyos·arkts·arkui