По ходу экспериментов всплыла еще одна особенность поведения Активностей при использовании флага запуска FLAG_ACTIVITY_NEW_TASK. И похоже это не последняя особенность!
И так запускаем приложение АР0004
и затем запускаем Активность В из приложения АР0003 и вводим любой текст
Замечает что Активность была запущена в новой задаче 35.
Теперь жмем кнопку HOME и запускаем приложение АР0003
Видим что приложение было запущено не с Активности А, а с Активности В и видим что эта Активность уже была запущена. Что собственно правильно.
Теперь снова жмем кнопку HOME запускаем приложение АР0004
Видим что Активность нам сообщает что она уже была запущена. И запускаем снова Активность В из приложения АР0003
И …оооооопсссс… неожиданность! Как бы… был создан НОВЫЙ экземпляр Активности В в задаче 36. То есть сейчас стек задачи 36 содержит ДВЕ Активности В и имеет вид В-В. В чем можем убедиться нажав на кнопку Info
То есть если произошло переключение между приложениями, то будет создаваться опять таки новый экземпляр Активности В, а не будет происходить переключение на вершину стека задачи где уже Активность В существует.
Опять таки эксперименты полезная вещь
Теперь жмем кнопку ОБРАТНО
И видим нашу первую Активность В, которую мы запускали в самом начале из приложения АР0004.
Жмем кнопку ОБРАТНО еще раз и попадаем в Активность А приложения АР0004
То есть мы переключились на стек задачи 36 и сейчас вернулись из него в нашу задачу 35.
С Андроидом не соскучишься
Комментариев нет:
Отправить комментарий