转: http://blog.csdn.net/leon8/article/details/6844397 singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。(注意是栈顶,不在栈顶照样创建新实例!) singleTask模式:当intent到来,需要创建singleTask模式Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它。 |
Activity的四种加载模式:
1、standard :系统的默认模式,一次跳转即会生成一个新的实例。假设有一个activity命名为Act1,执行语句:
后Act1将跳转到另外一个Act1,也就是现在的栈里面有 Act1的两个实例。按返回键后你会发现仍然是在Act1(第一个)里面。
2、singleTop:singleTop 跟standard 模式比较类似。唯一的区别就是,当跳转的对象是位于栈顶的activity(应该可以理解为用户眼前所 看到的activity)时,程序将不会生成一个新的activity实例,而是直接跳到现存于栈顶的那个activity实例。拿上面的例子来说,当Act1 为
3、singleTask:
4、singleInstance: 设置为
现在有以下三个activity: Act1、Act2、Act3,其中Acti2 为