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

相关推荐
congregalis3 小时前
跳出框架:一步步实现简易Deep Search Agent
人工智能·程序员·源码
电手6 小时前
纯国产系统,首款鸿蒙电脑下月发布
华为·电脑·harmonyos
仙灵灵8 小时前
前端的同学看过来,今天讲讲jwt登录
前端·后端·程序员
陈随易8 小时前
VSCode v1.99发布,王者归来,Agent和MCP正式推出
前端·后端·程序员
amagi6001 天前
关于我在大学学编程之后一些学习思维的杂谈
程序员
写雨.01 天前
鸿蒙定位开发服务
华为·harmonyos·鸿蒙
袁煦丞1 天前
【亲测】1.5万搞定DeepSeek满血版!本地部署避坑指南+内网穿透黑科技揭秘
人工智能·程序员·远程工作
我要改名叫嘟嘟1 天前
读过的书会全部忘掉么?不会的,总有些会在生命中留下印记
程序员
goto_w1 天前
uniapp上使用webview与浏览器交互,支持三端(android、iOS、harmonyos next)
android·vue.js·ios·uni-app·harmonyos
马可奥勒留2 天前
我的管理日记(2)——招聘
程序员