activity的启动模式:4种
在manifest里面对应的activity中增加android:launchMode=""属性指定启动模式
和在activity中增加
Intent intent2=new Intent();
intent2.setClass(MainActivity2.this, MainActivity3.class);
intent2.addFlags(Intent. FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent2);
1、standard:默认模式:每次启动都会创建一个新的activity对象,放到目标任务栈中
2、singleTop:判断当前的任务栈顶是否存在相同的activity对象,如果存在,则直接使用,如果不存在,那么创建新的activity对象放入栈中
3、singleTask:在任务栈中会判断是否存在相同的activity,如果存在,那么会清除该activity之上的其他activity对象显示,如果不存在,则会创建一个新的activity放入栈顶
4、singleIntance:会在一个新的任务栈中创建activity,并且该任务栈种只允许存在一个activity实例,其他调用该activity的组件会直接使用该任务栈种的activity对象
intent flags属性来指定启动模式:Intent.FLAG_ACTIVITY_NEW_TASK 相当于singleTask
Intent. FLAG_ACTIVITY_CLEAR_TOP相当于singleTop