<activity
android:name=".XXXX"
android:launchMode="singleTask" />
| 用例 | 启动模式 | 多个实例? | 注释 |
|---|---|---|---|
| 大多数 Activity 的正常启动 | “standard” |
是 | 默认。系统始终会在目标任务中创建新的 Activity 实例,并向其传送 Intent。 |
“singleTop” |
视情况而定 | 如果目标任务的顶部已存在 Activity 实例,则系统会通过调用该实例的 [onNewIntent()](https://developer.android.google.cn/reference/android/app/Activity#onNewIntent(android.content.Intent)) 方法向其传送 Intent,而非创建新的 Activity 实例。 |
|
| 专用启动(不建议在一般情况下使用) | “singleTask” |
否 | 系统会在新任务的根位置创建 Activity 并向其传送 Intent。不过,如果已存在 Activity 实例,则系统会调用该实例的 [onNewIntent()](https://developer.android.google.cn/reference/android/app/Activity#onNewIntent(android.content.Intent)) 方法(而非创建新的 Activity 实例),向其传送 Intent。 |
“singleInstance” |
否 | 与“singleTask"”相同,只是系统不会将任何其他 Activity 启动到包含实例的任务中。该 Activity 始终是其任务中的唯一 Activity。 |