有以下4种启动模式
standard, singleTop, singleTask, singleInstance
使用情况 | 启动模式 | 是否产生多个实例? | 说明 |
对于大多数Activity来说,普通启动模式 | standard | 是 | 默认模式;系统始终为要启动的Activity创建一个新的实例 |
singleTop | 视情况而定 | 如果一个Activity的实例已经在目标任务栈的顶部,系统会通过调用onNewIntent()方法,而不是创建一个新实例 | |
不推荐使用的特殊启动模式 | singleTask | 否 | 会在一个新的Task中生成Activity,只有Activity的实例存在,就不会再产生新的实例,并且会调用onNewIntent()方法 |
singleInstance | 否 | 和singleTask基本上是一样,区别在于:在这个模式下的Activity实例所处的task 中,只能有这个Activity实例,不能有其他的实例。 |
使用方法
在AndroidManifest.xml的Activity标签中,添加android:launchMode属性
<activity
...
android:launchMode="singleTop"
...
></activity>