activity的launchMode即启动模式分为四种
standard singleTop singleTask singleInstance
简称为四大天王(嘿嘿纯属为了好记)
其中standard 和singleTop 是一伙的简称A天团
singleTask和singleInstance是一伙的 简称B天团
A天团比较自由除了在可以在自己的stack中表演还可以走穴挣外快(肥的流油啊)
B天团就比较压抑和封闭了(像足了某XXTV)要求只能在自己的stack中待到死为止(当然是被destroy掉了),同时只能有一个实例通常在stack的底部。
天团是个整体,个人还是很有个性的。
A天团的standard 比较随和可以响应对应的Intent可以创建多个实例。 singleTop比较大牌,如果singleTop在自己的stack顶部则会在OnNewIntent方法中响应对应的Intent,但不会再去创建实例,如果不在自己的stack顶部或者不在目标stack的顶部则onCreated响应Intent创建实例
B天团的singleTask还好一点(比较好相处)允许其他的activity进入到自己的stack中(比如启动模式为standard,singleTop )singleInstance就太难伺候了在自己的stack中只能允许自己的一个实例存在,如果在自己的stack中启动了一个activity,则这个activity就会被无情地发配到其他的任务stack中就像响应了带有FLAG_ACTIVITY_NEW_TASK
的Intent