其他分享
首页 > 其他分享> > Android [启动方式:standard singleTop singleTask singleInstance]

Android [启动方式:standard singleTop singleTask singleInstance]

作者:互联网

栈顶Activity是当前正在显示的。

以A、B举例

1.standard

  不同的Activity都存放在同一个栈中,每次创建实例都会堆放到栈顶,逐次返回直至退出。

  

                                          

 

创建实例B

 

创建实例A

 

 点击返回时,从栈顶依次销毁,直至栈空返回桌面。

2.singleTop

  同样是不同的Activity存放在同一个栈,

  1)若A在栈顶,想创建一个新的实例A则不会成功 

  2)若A不在栈顶,再创建一个新的实例A,在栈顶会产生一个新的实例A

 

创建实例A

 

 

 

点击返回时,从栈顶依次销毁,直至栈空返回桌面。

3.singleTask

  不同的Activity存放在同一个栈,

  1)若A在栈顶,再创建一个新实例A不会成功

  2)若A不在栈顶,创建一个实例A则会回到原来的栈中存在的实例A,A成为栈顶,A之上的实例全部移除。

 

 

 

 

创建实例A

 

B与C移除。

点击返回时,从栈顶依次销毁,直至栈空返回桌面。

4.singleInstance

  不同的栈存在不同的栈中。

  1)若A在栈顶,创建一个新的实例A不会成功。

  2)若B仍未被创建,则新创建的实例B会存放在一个新的栈中。

 

创建实例B

  3) 如果此时B的实例已存在且我们在B的页面中创建新的A实例时,不会创建新的A实例,

    页面跳转到原来任务栈中存在的A的实例,存放B实例的任务栈仍然存在

    点击返回,依次销毁任务栈,直至返回桌面。

 

标签:返回,实例,创建,Activity,栈顶,standard,singleInstance,存放,singleTask
来源: https://www.cnblogs.com/zlc364624/p/10738383.html