首页 > 代码库 > (Android review) 任务栈与启动模式

(Android review) 任务栈与启动模式



这一个知识点主要以理解为主:

一、任务栈(task stack)

1、作用:就是用来管理activity的进入,退出。记录了用户的行为。

2、举例:

假如要进行一下操作:


这时候,任务栈中的activity的情况如下:





二、启动模式

1、配置:

for example:

<activity
           XXXX
            android:configChanges="orientation|keyboardHidden">


2、分类:

standard:单击一个activity就新建一个activity


singleTop:如果要启动的activity已经在栈顶,那么这是就不会新建一个activity


singleTask:如果要启动的activity已经在任务栈中,则,他会找到这个activity,并把这个activity
上面所有的activity都清空,然后重用这个activity。


singleInstance:这样的activity会占用一个单独的任务栈。启动这样的activity时,如果发现任务栈中已经有
这个activity的引用,则会断掉之前的引用


3、举例说明:


注:用A来表示MainActivity,用B来表示Main2Activity

1)如果执行A---->B---->B--->A的操作,

这时standard和singleTop对应的任务栈中的结果分别是:




2)如果执行A------>B-------->A------>B操作的话,

singleTask和singleInstance分别对应的任务栈的情况如下: