2013-07-12 4 views
2

Согласно Android docs, деятельность жизненного цикла выглядит следующим образом:Android между Активность жизненного цикла

  • OnCreate()
  • OnStart()
  • onResume()
  • OnPause()
  • onStop()
  • onDestroy()

Вопрос в том, что у меня есть два вида деятельности (A и B) и что они не были убиты аномально (низкая память и т. Д.):

Как выполняется порядок выполнения при переходе на задний план и другой/создан?

  • ...
  • A.onPause()
  • B.onCreate()
  • A.onStop() - B.onStart() одновременно
  • B.onResume()
  • ...

Настоящая гарантия действует в соответствии с каким-либо конкретным заказом? в каждой версии Android?

Regads

ответ

5

Следуйте схеме вы будете понимать, что происходит, когда одна деятельность идет в фоновом режиме, и другой приходит на передний план.

enter image description here

На шаге 2 MainActivity исчез с экрана, но осталось в памяти и не был разрушен. Но на шаге 3 ActivityTwo был уничтожен сразу после его исчезновения с экрана. И в шаге 4 в конце MainActivity был уничтожен.

Это bcos, когда Activity_A вызывает Activity_B, Activity_B помещается в верхнюю часть Задачи и получает фокус. Activity_A остается в Задаче, но находится в состоянии Stopped (не видно и не сфокусировано). После этого, когда пользователь нажимает кнопку «Назад» при открытии Activity_B, Activity_B удаляется из задачи и уничтожается. И Activity_A теперь находится на вершине задачи и получает фокус.

Действия хранятся в задании в том же порядке, в котором они были открыты (и добавлены в Задачу). Они не сортируются и не упорядочиваются каким-либо образом внутри Задачи. Набор действий в Задаче также называется обратным стеком. Я просто позвоню - стек.

Диаграмма (с официального сайта) демонстрирует пример:

enter image description here

+0

Отличный ответ! пожалуйста, не могли бы вы добавить ссылки, где у вас есть информация? – Cheborra

+0

он есть в android doc..check ссылка: http://developer.android.com/guide/components/tasks-and-back-stack.html –

+0

Спасибо @Shankarivatsalkumar Хорошее объяснение! –

Смежные вопросы