1.standard 标准
默认启动模式,每当启用一个新的Activity,都会在返回栈中入栈,并处于栈顶。
即不管这个Actiity是不是在返回栈中存在,都会onCreate()一个新的Activity置于栈顶。
2.singleTop 顶部单一
如果在此Activity处于栈顶时,再次启动这个Activity,系统会直接使用当前Activity,而不是重新创建一个新的Activity,和standard模式形成区别。
如果这个Activity不处于栈顶时,则会像standard一样,重新创建一个新的Activity。
3.singleTask 任务单一
系统会检查返回栈中是否存在该Activity的实例,如果存在,就会直接使用,并把这个Activity之上的所有活动统统出栈。
如果没有,则会创建一个新的Activity。
4.singleInstance
当启动该模式的Activity时,会新建一个返回栈来管理这个Activity。
当然,这个新的栈也会在Application中有自己的编号,可以理解为一个记录返回栈的返回栈。
通常用在第三方App引用时,比如浏览器...
Activity启动模式的设定方法:
在AndroidManifest.xml中,
在目标活动<activity ***></activity>中的***部分
输入android:launchMode="singleTop/singleTask/singleInstance"
由于standard是默认模式,所以不用专门设置。