Почему не может быть 4 жизненных цикла активности в Android? - PullRequest
0 голосов
/ 11 мая 2018

Я не понимаю, почему существует несколько жизненных циклов для каждой конкретной фазы?Нужен ли мне код для всех 11 жизненных циклов?Могу ли я просто иметь код в onCreate, onPause, onResume и onStop? Кажется, что есть избыточность (и, глядя на другие сообщения SO по этому вопросу, другие думали так же, но после прочтения ответов я не могу с уверенностью сказать, что я все еще понимаю, почему)

Фаза 1:

onCreate()
onStart()
onResume()

Фаза 2:

onPause()
onStop()

Фаза 3:

onRestart()
onStart()
onResume()

Фаза 4:

onPause()
onStop()
onDestroy()

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

почему существует несколько жизненных циклов для каждой конкретной фазы?

Ну, есть N количество приложений и N количество вариантов использования, которые реализованы на Android. Функции, предоставляемые приложением, ориентированы на пользователя, а все заботы и этапы обеспечивают плавность и удобство работы. По мере того, как пользователь перемещается по вашему приложению, выходит из него и обратно, экземпляры Activity в вашем приложении переходят через различные состояния в своем жизненном цикле. Они нужны вам для правильного поведения

Могу ли я просто иметь код в onCreate, onPause, onResume и onStop?

Все зависит от вашего варианта использования, компонента Android, который вы используете, и от того, насколько изящно вы хотите обрабатывать изменения жизненного цикла.

Все 7 методов обратного вызова (onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), onDestroy()) в жизненном цикле Деятельности служат различным целям.

Хорошая реализация обратных вызовов жизненного цикла может помочь обеспечить Ваше приложение избегает:

  • Сбой, если пользователь получает телефонный звонок или переключается на другое приложение во время использования вашего приложения.
  • Использование ценных системных ресурсов, когда пользователь не использует их активно. Потеря прогресса пользователя, если он покинет ваше приложение и вернется к этому позже.
  • Сбой или потеря прогресса пользователя при повороте экрана между альбомной и портретной ориентацией.

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

0 голосов
/ 11 мая 2018

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

onCreate вызывается при первом создании операции.

onStart вызывается, когда активность становится видимой для пользователя.

onResume вызывается, когда действие начинает взаимодействовать с пользователем.

onPause вызывается, когда активность не видна пользователю.

onStop вызывается, когда активность больше не видна пользователю.

onRestart вызывается после того, как ваша деятельность остановлена, до начала.

onDestroy вызывается до уничтожения действия.

Подробнее о жизненном цикле активности вы можете узнать здесь: https://developer.android.com/guide/components/activities/activity-lifecycle

...