Жизненный цикл активности Android после нажатия кнопки «Назад»

StackOverflow https://stackoverflow.com//questions/22011751

  •  21-12-2019
  •  | 
  •  

Вопрос

Меня немного путает жизненный цикл двух видов деятельности.

Предположим, у меня есть действие A и действие B.

B называется From A, т.е. A ----> B.

Сейчас в настоящее время B на экране, и я нажал кнопку «Назад».Здесь я хочу знать: - есть ли еще свободная память для B(Активный) или BПамять очищается (неактивна).

Это было полезно?

Решение

Предположим, есть активность А, из которой вы запускаете активность Б.Если во время действия B вы нажмете кнопку «Назад», вы вытолкнете действие B из стека, и B больше не будет в стеке действий.

Всякий раз, когда вы помещаете действие в стек, onCreate вызывается, и если вы нажмете кнопку «Назад», onDestroy вызывается, что означает, что активность сбрасывается.

stack

Пожалуйста, посетите мой блог для получения дополнительной информации:http://upadhyayjiteshandroid.blogspot.in/2013/02/android-lifecycle.html

activity lifecycleпожалуйста, посетите, чтобы узнать больше

http://developer.android.com/guide/comComponents/tasks-and-back-stack.html

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Другие советы

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

onPause()
onStop()
onDestroy()
.

Действие разрушается.

И он воссоздает при запуске снова.Это методы обратного вызова, когда он снова запускает.

onCreate()
onStart()
onResume()
.

Тот Самый onDestroy метод вызывается после обратного нажатия.Затем действие будет извлечено из обратного стека действий.

Из документов:

Если действие приостановлено или остановлено, система может удалить действие из памяти либо попросив его завершить, либо просто остановив его процесс.Когда он снова будет показан пользователю, его необходимо полностью перезапустить и восстановить в прежнее состояние.

onDestroy() из документов:

Последний вызов, который вы получаете перед тем, как ваша активность будет уничтожена.Это может произойти либо потому, что действие завершается (кто-то позвонил finish() на нем, или потому, что система временно уничтожение этого экземпляра действия для экономии места.Вы можете провести различие между этими двумя сценариями с помощью isFinishing() способ.

enter image description here

Я знаю, что ответ был Acceppcted, тем не менее, если это поможет кому-то, что я его кладу.

Когда приложение впервые открывается, нажав на значок

onCreate()
onStart()
onResume()
.

Когда нажата домашняя кнопка

onPause()
onStop()
.

Когда приложение снова открывается, щелкнув значок приложения или запущен из последних

onRestart()
onStart()
onResume()
.

Когда приложение открывается, а затем кнопка назад нажата

onPause()
onStop()
onDestroy()
.

Деятельность B будет уничтожена и больше не будет оставаться в памяти.

Для получения дополнительной информации, пожалуйста, посетите Официальная документация для Android И посмотрите на рисунок жизненного цикла деятельности.

Как только вы нажмете клавишу заднего клавиша, будет называться метод Andestroy () активности, и активность будет промываться из памяти.Затем вам потребуется перезапустить активность, позвонив на метод startactive (), который будет в свою очередь, вызовите свой метод OnCreate ().

Я бы предложил ссылаться на следующую ссылку для жизненного цикла на активность

http://stackoverflow.com/a/8516056/3110609
.

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

www.intridea.com/blog/2011/6/16/android-understanding-activity-launchmode
.

После нажатия кнопки назад активность B будет разрушена.Видите ли, Android управляет мероприятиями, такими как Stack (объяснение стека) .Каждый раз, когда вы начинаете действие, он толкает в стек активности.Таким образом, когда активность вызовов активность B, активность B теперь находится в верхней части активности B, а при нажатии кнопки назад она также делает поп в стеке активности.Так что в концепции, активность B уходит.Нажатие кнопки «Домой» отличается от нажатия назад, она приостанавливает активность, поэтому она все еще немного ест памяти телефона.

Здесь - это хорошее объяснение того, как Android управляет действиями,

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top