2

当 TabWidget 使用意图为每个选项卡指定目标 Activity 时,除了默认操作之外,是否对 Activity Stack 上的这些 Activity 有任何特殊处理?

例如,如果我的应用程序有选项卡 A、B 和 C,并且我按此顺序单击它们——A、B、A、C、A、B——Activity 堆栈将如何变化?

我对默认操作的理解,如果每次都在意图上调用 startActivity(),堆栈会不断加载活动的新实例:A、AB、ABA、ABAC、ABACA、ABACAB

很难相信这就是它的工作原理......似乎这会浪费资源并且可能无穷无尽。谁能告诉我这将如何实际工作?

4

2 回答 2

6

例如,如果我的应用程序有选项卡 A、B 和 C,并且我按此顺序单击它们——A、B、A、C、A、B——Activity 堆栈将如何变化?

TabWidget内部活动不会进入堆栈。

我对默认操作的理解,如果每次都在意图上调用 startActivity(),堆栈会不断加载活动的新实例:A、AB、ABA、ABAC、ABACA、ABACAB

TabWidget不会在每次选项卡单击时创建新活动。

于 2010-04-27T11:28:59.837 回答
3

Tabwidget 负责管理活动。所有未显示的活动都将暂停并在选项卡主机中选择活动时恢复。

于 2010-04-27T12:00:25.957 回答