三种启动模式
singleton(单实例模式)也就是单任务窗口
multiton(多实例模式)多任务窗口
specified(指定模式)可单可多任务窗口
singleton启动模式
singleton启动模式为单实例模式,是默认的启动模式,在这种模式下,每次调用startAbility()方法时,如果应用进程中该类型的UIAbility实例已经存在,则复用系统中的UIAbility实例,系统中只存在唯一一个该UIAbility实例,即在最近任务列表中只存在一个该类型的UIAbility实例
1.应用的UIAbility实例已创建,并配置为单实例模式,再次调用startAbility()方法启动该UIAbility实例时,启动的还是原来的UIAbility实例,并未重新创建一个新的UIAbility实例
2.再次调用startAbility方法时,只会进入该UIAbility的onNewWant()回调,不会进入其onCreat()和onWindowStageCreate()生命周期回调
不同UIAbility之间通过want来进行传递数据
let want: Want = {
deviceId: '', //当前设备
bundleName: 'com.example.abilitystudy', //跳转应用的名称
abilityName: 'SingletonAbility', //跳转ability的名称
moduleName: 'entry', //模块名称
}
this.context