1、standard
standard模式是默认的启动模式,不用为<activity>配置android:launchMode属性即可,当然也可以指定值为standard。
每次跳转系统都会在task中生成一个新的FirstActivity实例,并且放于栈结构的顶部,当我们按下后退键时,才能看到原来的FirstActivity实例。
总结:这就是standard启动模式,不管有没有已存在的实例,都生成新的实例。
2、singleTop
跳转时系统会先在栈结构中寻找是否有一个FirstActivity实例正位于栈顶,如果有则不再生成新的,而是直接使用。
当从SecondActivity跳转到FirstActivity时,系统发现存在有 FirstActivity实例,但不是位于栈顶,于是重新生成一个实例。这就是singleTop启动模式,如果发现有对应的Activity实例正位于栈顶,则重复利用,不再生成新的实例。
总结:当前Activity位于栈顶则重用,不是位于栈顶则重新生成
3、singleTask
singleTask模式,如果发现有对应的Activity实例,则使此Activity实例之上的其他Activity实例统统出栈,使此Activity实例成为栈顶对象,显示到幕前。
4、singleInstance
这种启动模式比较特殊,因为它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。
具体详细解释可以参见:http://blog.csdn.net/liuhe688/article/details/6754323/