简述Activity的四种启动模式及其区别。
时间: 2024-05-22 22:10:06 浏览: 129
Android 中的 Activity 启动模式指的是在启动一个 Activity 时,系统该如何处理该 Activity 的实例。常见的启动模式有以下四种:
1. standard:默认模式,每次启动 Activity 都会创建一个新的实例,并放入任务栈中。
2. singleTop:在启动 Activity 时,如果栈顶已经是该 Activity 的实例,则不会创建新的实例,而是调用实例的 onNewIntent() 方法,并保留原实例在栈中。
3. singleTask:该模式下系统会在启动 Activity 时先在任务栈中寻找是否存在该 Activity 的实例,如果已经存在则将该实例移动到栈顶并调用其 onNewIntent() 方法,否则会创建新的实例并将其放在栈顶。
4. singleInstance:该模式下该 Activity 只能单独存在于一个任务中。如果启动 Activity 时发现该 Activity 已经存在于某个任务栈中,则会创建新的任务栈来存放该 Activity 实例,且该任务栈中只能存在该 Activity。
区别:
- standard:每次启动都会创建新实例。
- singleTop:如果栈顶已经是该 Activity 的实例,则不会创建新的实例,否则创建新实例。
- singleTask:只要存在该 Activity 的实例,就会使用该实例,并把这个实例上的所有 Activity 弹出,使该实例成为栈顶。
- singleInstance:该 Activity 只能单独存在于一个任务中,且该任务栈中只能存在该 Activity。
阅读全文