简介
HarmonyOS涉及的启动模式,就是Android中的那个启动模式,一样的概念。它指的是一个UIAbility实例,被打开的时候,如果已经存在了UIAbility,是复用上一个呢,还是重新创建一个呢, 如果复用的话,那窗口行为应该是什么呢。 模式就是来指定这些行为的。
在HarmonyOS中启动模式被简化成了三种
- 单例模式 singleton
- 多实例模式 multiton
- 指定实例模式 specified
设置方式
在module.json5文件中找到相应的UIAbility配置项,设置lanchType参数
{
"module": {
// ...
"abilities": [
{
"launchType": "singleton",
// ...
}
]
}
}
singleton启动模式
singleton模式是单例模式,是默认情况下的应用启动模式。
它的表现是,每当开启一个UIAbility的时候,如果发现系统里存在一个一样的UIAbility,则就不进行创建实例直接复用。
我们前面已经学到,一个UIAbility对标的是一个任务管理器中的任务,这里跟Android的Activity还是存在区别的。如果一个HarmonyOs应用里面存在多个UIAbility,并且全部打开了,当用户退出界面选择任务列表的时候,您会发现存在很多任务,这原则上讲是很乱的。所以HarmonyOs的默认模式为sing