Activity四种启动模式区别

最近在看Android相关方面的知识,看到了四大组件的Activity,看到了它的四种启动模式,为了加深自己的记忆,所以决定记录下来。

Standard

每次启动都会new 一个新的实例

SingleInstance

会创建一个新的stack,管理这个Activity,别的应用也可以共享,跳转到这个Activity时,不会创建新的实例,并且整个application运行期间该task中只有这一个Activity

SingleTop

栈顶复用,如果不是在栈顶,还是会新建一个实例,否则会调用onNewIntent方法,其他情况和standard模式一样

SingleTask

如果一个Activity打开方式设置为这种方式,首先系统会根据taskAffinity去查找对应的task,如果没找到,就会在新的task中启动。如果找到相关的task,入栈时该Activity存在此时会销毁该实例上面所有的Activiy.此时该Activity会位于栈顶!d=====( ̄▽ ̄*)b,并且会调用onNewIntent