参考网址:
https://blog.csdn.net/mynameishuangshuai/article/details/51491074
1、Activity生命周期
2、四种启动模式:standard、singleTop、singleTask、singleInstance
standard:标准模式 每一次启动Activity都是一次新的生命周期。
singleTop:栈顶复用模式 当当前启动的Activity已经存在与当前任务栈且处于栈顶位置,则从回调onNewIntent开始。否则跟standard一样
singleTask:栈内复用模式 当当前启动的Activity已经存在与当前任务栈,则从onNewIntent开始。否则跟standard一样
singleInstance:单实例模式 单实例启动的Activity将只能独立存在于一个任务栈中,并且由于栈内复用的特性,后续请求不会创建新的Activity实例。(singleInstance拥有singleTask的所有特性)
3、额外补充:
设置启动模式:AndroidManifest.xml中
android:launchMode 默认为standard
设置任务栈:android:taskAffinity 默认为包名
<activity android:name=".B_Activtiy" android:launchMode="singleTask" android:taskAffinity="com.schulte_grid.activity_singleInstance"/>
启动指定任务栈:
Intent intent = new Intent(); intent.setAction("com.schulte_grid.activity_singleInstance"); startActivity(intent);