Activity和Task的启动模式有哪些?每种含义是什么?举例说明各自的应用场景
Activity的启动模式 (Launchmode) 有4种
1.standard 默认模式,不需要配置
含义: 启动Activity会新建一个Activity实例
应用场景:
2. singleTop “在顶单一”模式
含义: 如果启动的Activity在栈的顶部已经存在,不会创建新实例,而是调用onNewIntent()方法
应用场景:新消息推送。
3. singleTask 只有一个任务
含义:启动本程序的Activity,若Activity实例不存在,创建一个实例;若存在,会把在它上面的其他Activity销毁,并调用onNewIntent()方法。它会创建新的Task,所有之后的活动共享这个TaskId.
启动其他程序的Activity, 会创建一个新的TaskId, 并且之后的Activity都用这个TaskId.
应用场景: 程序入口点。例如浏览器主页面
4.singleInstance 只有一个实例,并且独霸一个TaskId
含义: 启动Activity,若Activity实例不存在,创建一个实例;若存在,会把在它上面的其他Activity销毁,并调用onNewIntent()方法。它会有自己的Task,不会和其他Activity共享一个TaskId
应用场景: 与程序其他部分分离的部分。 例如闹铃提醒