Android Activity launchMode(启动模式
2020-08-23 本文已影响0人
水妖
1.standard(默认模式)
标准启动,正常启动,没有特殊效果
2.singleTop(栈顶复用模式)
如果当前Activity在栈顶,则不会重新启动新的actviity,此时会调用onNewIntent(intent)方法;
(如果不在栈顶,重新启动新的activity)
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
3.singleTask( 栈内复用模式)
如果当前Activity已经存在实例,复用该实例,并且把activity上面的所有activity退栈,如(B:singleTask):栈中有ABCDE,启动B,栈中只剩AB.(会调用onNewIntent(intent)方法)
B:singleTask
ABCDE 再启动 B
结果:AB
4.singleIntance(单实例模式)
如果当前Activity不存在实例,创建新的栈和新的实例.如果存在该实例,则会调起该栈和该实例.(会调用onNewIntent(intent)方法)
当前activity所在的栈只存在activity一个实例,调用其他页面时,会跳入对应的栈.如果不存在其他栈则会创建新的栈.