17 сентября 2014 г.

Задачи и обратный стек (Tasks and back stack). Часть 20 (практика)

И еще немного экспериментов с флагами FLAG_ACTIVITY_CLEAR_TOP и FLAG_ACTIVITY_NEW_TASK.

Запускаем приложение АР0004

NTCT0001

Жмем Start Activity B

NTCT0002

Теперь стек задачи 31 содержит две Активности и имеет вид A-B

Теперь жмем кнопку Start D NewTask ClearTop, которая запускает Активность D с нашими флагами.

NTCT0003

Мы видим что Активность D запустилась в тоже задаче 31 что и другие две наши Активности. Стек задачи 31 сейчас содержит три Активности и имеет вид A-B-D. То есть если запускаемая Активность принадлежит приложению из которого она запускается с этими флагами, то она создается в той же задаче.

Теперь жмем кнопку ОБРАТНО

NTCT0004

И жмем кнопку Start D AP0003 NewTaskClearTop

NTCT0005

Как видим Активность D приложения AP0003 была запущена в новом таске 32 в котором она сейчас одна единственная Активность. Из этого вывод, что если запускаемая с этими флагами Активность принадлежит другому приложению, то она запускается в новой задаче.

То есть сейчас у нас есть два таска: таск 31 в котором две Активности A-B приложения АР0004 и таск 32 в котором одна Активность D.

Нажмем Info чтобы убедиться

NTCT0006

Комментариев нет:

Отправить комментарий