Activity启动模式

四种:

1.standard:默认启动模式,每次启动一个Activity的时候都会重新创建一个新的实例,不管存不存在都会添加到activity栈内。

2.singleTop:当需要启动的Activity在栈顶,不会去重新新建一个activity,会复用栈顶activity,然后重新activity的onNewIntent方法。ABCD,启动D会复用,否则正常加入栈

3.singleTask:当需要启动的Activity在栈内,会移除其栈头上所有的activity,其作为栈顶元素,也会重新执行activity的onNewIntent方法。ABCD,启动B会移除CD,其自己作为栈顶元素。

4.singleInstance:每次启动activity都会新建一个activity栈。

指定启动模式的两种方法:

1.直接在AndroidMenifest为Activity节点指定launchMode

2.在Intent中设置标志位来指定也就是addFlags

第二种启动模式的优先级高于第一种

第一种无法为activity设置flag_clear_top,而第二种无法为activity指定singleInstance模式。

你可能感兴趣的:(Activity启动模式)