activity的启动模式
-
standard
standard是默认的启动模式,在不指定启动模式的情况下,活动会默认使用这种模式启动。
特点:每次启动活动都会创建一个新的实例。例子:如果在MainActivity上启动MainActivity那么会在原来的基础上再创建一个活动,所以按下back键还是MainActivity界面。必须返回两次才能退出程序。
-
singleTop
切换启动模式在配置文件中添加activity的launchMode的属性
android:launchMode="singleTop"
特点:当要启动的activity位于栈顶时,不需要重新创建实例。如果另一个activity位于栈顶,无论要启动的activity是否已经创建了,都需要重新创建一个新的实例。例如:在MainActivity上启动MainActivity就不会再创建新的实例。而在MainActivity上先启动一个SecondActivity再启动MainActivity则会在新建一个实例。
-
singleTask
android:launchMode="singleTask"
特点:每次启动activity的时候系统先会检查栈中是否有该活动的实例,如果有则直接使用,如果没有再创建新的activity实例。
-
singleInstance
android:launchMode="singleInstance"
特点:设置了这个启动模式的activity在创建后放入一个新的返回栈中,可以供其他程序使用。例如:从活动1启动到活动5,其中活动2和活动4设置为singleInstance,那么从活动5返回到活动3->活动1->活动4->活动2