activity启动模式

activity启动模式有四种
1、standard
这个是活动启动的默认模式,系统不会管这个活动在栈中是否存在,每次启动都会创建一个新的实例。
Intent intentSelf= new Intent(MainActivity.this, MainActivity.class);
startActivity(intentSelf);
如上面的自己启动自己,还是会创建的。
2、singleTop
修改为singleTop启动模式,在androidManefist.xml对应的activity中添加android:launchMode=“singleTop”,singleTop启动模式,如果栈顶是该activity,则不会再启动该activity,否则,还是会启动对应的activity。如1中所示的,自己启动自己,如果是singleTop,则不会再创建。如果MainActivity启动了SecondActivity,在SecondActivity再启动MainActivity,则会再创建MainActivity的实例。
3、singleTask
一个栈里只能有一个该activity的实例,当再启动该activity时,如果栈中有该activity的实例,则栈顶的activity都出栈,也就是destory掉。如下图所示:MainActivity时singleTask,MainActivity启动SecondActivity,SecondActivity启动ThirdActivity,ThirdAcitivity启动MainActivity,则调MainActivity的onRestart,SecondActivity和ThirdActivity都destroy了。
activity启动模式
4、singleInstance
这个后面再添加