Android Activity页面的四种启动方式
2021-12-17 本文已影响0人
醉红尘_acb4
<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。 |