1.Standard:默认的启动模式,会新建一个实例压入栈中。如,当前栈为A B C,用intent开启一个C,则栈变为A B C C。按下返回键的时候会依次返回。
2.SingleTop: 如,当前栈为A B C,用intent开启一个C,则栈依然为A B C,并不会新建一个C;如果用intent开启一个B,则栈为A B C B。也就是说,栈顶不会有两个重复的元素。
3.SingleTask:该模式下的元素只会在栈中存在一个实例,而且,调用的时候会清空其之上的元素,如,当前栈为A B C D E , 如果调用了B,则栈会直接变成 A B,而C D E已经被弹出销毁了。
4.SingleInstance:该模式下的元素在被创建的时候,会新建一个任务栈,如,现在有任务栈1的内容为A B C,均为标准启动模式,现在有D为SingleInstance的启动模式,则,在C的时候调用D,那么任务栈1的内容依然为A B C,D则会有单独的任务栈2, 此时执行的时候任务栈2中的D,如果现在再调用D,任务栈2中并不会新建一个D实例,也就是说,D自己拥有一个任务栈,而且是只会有一个实例。
如果从D中在此调用C,那么任务栈1就会变成A B C C。
参考:http://www.cnblogs.com/xiaoQLu/archive/2011/09/29/2195742.html
转载于:https://www.cnblogs.com/peter-sun/p/8340271.html