activity的管理模式: 由任务栈进行管理,每次启动一个activity,就会将其放入栈中,点击返回键则会从栈顶移除一个activity
activity的启动模式: manifest中设置launchMode属性!
- standard/标准模式
- singleTop/Task栈顶复用模式
- singleTask/Task栈内复用模式
- singleInstance/全局单例模式
——————————————————————————————————————————————————————————————————
1、standard/标准模式
默认的启动模式,每启动一个activity,就会创建一个新的实例,每个AActivity都是一个独立的“个体”
2、singleTop/Task栈顶复用模式
当要启动的目标Activity已经位于栈顶的时候,就不会创建新的实例,直接复用栈顶的activity,且会调用onNewIntent()方法;如果目标activity不在栈顶的时候就创建一个新的实例
3、singleTask/Task栈内复用模式
如果要启动的目标activity已经在栈中了,就会复用该activity,并调用onNewIntent()方法,并在该activity上的activity会被清除;如果栈中没有该activity,则创建新的实例
4、singleInstance/全局单例模式
不管activity是在哪个栈中,只要存在了目标的activity,就可以复用。此时每个activity都会占有一个Task栈