我在android.com上阅读了关于Task and back stacks的开发者指南,其中包含:
例如,假设当前任务(任务A)有三个 在当前活动下的堆栈中的活动。用户 按下HOME键,然后从中启动一个新的应用程序 应用程序启动器。出现主屏幕时,任务A进入 的背景。当新应用程序启动时,系统启动a 该应用程序的任务(任务B)具有自己的一系列活动。 与该应用程序交互后,用户再次返回Home 并选择最初启动任务A的应用程序。现在,任务 A来到前台 - 其堆栈中的所有三个活动都是完整的 并且堆栈顶部的活动恢复。
似乎每个Task都创建了自己的堆栈(后台堆栈)。我的假设是真的还是只有一个堆栈,通常编译器就像C一样?
答案 0 :(得分:1)
后端堆栈可以跨越任务边界。当活动的launchmode
设置为singleTask
时,活动将在新任务中创建。
假设活动B
在XML文件中有launchmode=singleTask
。当活动A
启动活动B
时,后者将处于自己的任务中。但是,按back
键会使用户返回活动A
。因此A
和B
位于相同的后台,但处于不同的任务中。
请参阅页面http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html中对launchmode
的讨论。
免责声明:我尚未确认文档是否正确。
答案 1 :(得分:0)
我会说他们说的是真的!每个任务都创建自己的堆栈(后栈)。