四大启动模式总结

1.默认启动模式standard一个任务栈,先进后出原则

2.singleTop启动模式,栈顶模式,如果启动的activity在栈顶的则不会创建新的activity,会复用原来的activity并且调用newIntent方法,调用顺序onStop,onNewIntent,onPause

3.singleTask启动模式,先介绍TaskAffinity任务栈,如果activity指定TaskAffinity名称并且不和默认名称相同的话并且activity的启动模式是singleTask,此时启动activity则在此activity的TaskAffinity的任务栈中查询是否有此activity,如果没有添加进去,如果有则复用此activity并且将此activity任务栈中上面的其他的activity弹出。singleTask启动的activity在哪个栈看TaskAffinity属性,如果未指定则是默认的包名的任务栈。

4.singleInstance是特殊的singleTask,会为启动模式为singleInstance的每一个activity都有自己独立的任务栈,根据栈内复用原理,启动栈内已经存在的activity会复用此栈内的activity,不会重新创建栈和activity

你可能感兴趣的:(android基础知识)