Android Launch Mode的学习记录

我理解的Task实际上就是Activity堆栈,由于Task里面都是以Activity为单位的,所以一个Task里可以包含来自不同App的Activity,这里把跟Task相关的学习记录下。

关于LaunchMode:

Activity的LaunchMode有四种standard、singleTop、singleTask、singleInstance,

第一种 standard:就是任何时候都启动新的Activity。

第二种 singleTop:如果要启动的Activity已经在Task的最顶层了,就复用这个Activity,否则启动一个新的。

第三种 singleTask:如果要启动的Activity已经在Task里了,则把这个Activity弹到最顶层并复用他,否则创建新的,注意,这个mode不会创建Task。

第四种 singleInstance:如果Activity还没通过singleInstance模式创建过,也就是说还没有独立的Task单独存放这个Activity的时候,就创建新的独立Task,这个Task里只有这个Activity一个;否则复用这个Task和Activity。这里用图片对这个模式详细说明下:

说明一下:这里A、B、C都是Activity,其中A、C都是standard模式,B是singleInstance模式,启动过程是A启动到B,B启动到C,C启动到A,然后开始点击返回。过程一目了然。

posted @ 2013-06-05 10:13  周柯文  阅读(440)  评论(0编辑  收藏  举报