standard
standard是活动默认的启动模式,主要特点是单栈,与其他几种启动模式不同的是不管栈内或栈顶是不是与要新建的活动相同都会创建,所以就会产生连按了好几次返回结果都是同一个活动的情况。
singleTop
singleTop想解决的问题就是对于standard中明明栈顶已经是活动A了,当要新建活动A时standard模式真的新建一个放在栈顶的问题。以singleTop模式启动时,当发现返回栈的栈顶已经是该活动那么可以直接用这个活动,而不会再新建一个。
singleTask
singleTask解决的是栈内已经有想要启动的活动时可直接使用这个已经存在的实例,并把这个活动之前的活动全都pop掉。
singleInstance
singleInstance与上面三个不同的地方就是新建了一个专属的栈来管理活动。如活动A,B,C。执行顺序为A->B->C。将B的启动模式设置为SingleInstance,那么在C活动在前台的时候按一下返回会返回到活动A中。其原因就在于ABC都执行了一遍后,AC在一个栈中,B在另一个栈中。