2011-10-29 105 views
0

我读了开发商android.com指导有关Task and back stacks,它说:“返回堆栈的基本

假设,例如,当前任务(任务A)在其堆栈二三 活动根据目前的活动。用户 按HOME键,然后从 应用程序启动器启动一个新的应用程序。当主屏幕出现时,任务A进入 的背景。当新应用程序启动时,系统会使用其自己的一系列活动为该应用程序启动 任务(任务B)。 与该应用程序进行交互后,用户再次返回主页 并选择最初启动任务A的应用程序。现在,任务 A进入前台 - 其堆栈中的所有三个活动都是完好的 以及活动的顶部堆栈恢复。

看起来好像每个任务创建它自己的堆栈(后退堆栈)。我的假设是真实的还是只有一个堆栈,通常是编译器,比如C?

回答

0

我会说他们说的是真的!每个任务创建它自己的堆栈(后退堆栈)。

1

回栈可以跨越任务边界。当活动的launchmode设置为singleTask时,活动将在新任务中创建。

假设活动B在0123文件中有launchmode=singleTask。当活动A启动活动B时,后者将处于其自己的任务中。但是,按back键将使用户回到活动A。所以AB是在相同的反向堆栈中,但在不同的任务。

请参阅http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.htmllaunchmode的讨论。


声明:我还没有验证文档是否正确。