Обработка активности TabWidget — создает ли она новую активность КАЖДЫЙ раз?

Когда TabWidget использует намерения для назначения целевого действия для каждой вкладки, существует ли какая-либо особая обработка этих действий в стеке действий за пределами операции по умолчанию?

Например, если в моем приложении есть вкладки A, B и C, и я нажимаю на них в таком порядке — A, B, A, C, A, B — как изменится стек действий?

Насколько я понимаю операцию по умолчанию, если startActivity() вызывается каждый раз по намерению, стек будет продолжать загружать новые экземпляры действий: A, AB, ABA, ABAC, ABACA, ABACAB

Хотя трудно поверить, что так это работает... Кажется, это было бы пустой тратой ресурсов и могло бы быть бесконечным. Может ли кто-нибудь сказать мне, как это будет работать на самом деле?


person stormin986    schedule 27.04.2010    source источник


Ответы (2)


Например, если в моем приложении есть вкладки A, B и C, и я нажимаю на них в таком порядке — A, B, A, C, A, B — как изменится стек действий?

Внутренние действия TabWidget не попадают в стек.

Насколько я понимаю операцию по умолчанию, если startActivity() вызывается каждый раз по намерению, стек будет продолжать загружать новые экземпляры действий: A, AB, ABA, ABAC, ABACA, ABACAB

TabWidget не создает новые действия при каждом нажатии на вкладку.

person CommonsWare    schedule 27.04.2010
comment
Интересный. Итак, ТОЛЬКО активность, у которой есть TabWidget, попадет в стек? Сохраняет ли TabWidget автоматически состояние выбранной в данный момент вкладки, когда вы меняете задачи, а затем возвращаетесь? - person stormin986; 27.04.2010

Tabwidget отвечает за управление действиями. Все действия, которые не отображаются, приостанавливаются и возобновляются в тот момент, когда действие выбрано в Tabhost.

person Janusz    schedule 27.04.2010