Состояние жизненного цикла компонентов архитектуры Android
https://developer.android.com/reference/android/arch/lifecycle/Lifecycle.State.html
STARTED Lifecycle.State STARTED Для действия это состояние достигается в двух случаях: после вызова onStart; прямо перед вызовом onPause.
Как сказано в приведенной выше документации, я не мог понять причину состояния STARTED прямо перед вызовом onPause. Может кто-нибудь объяснить это?
1 ответ
Обратите внимание, что значения в Lifecycle.State
enum
не включать PAUSED
государство. Есть только пять состояний: CREATED, DESTROYED, INITIALIZED, RESUMED, STARTED
, Они не совсем соответствуют нормальному жизненному циклу Activity, который мы все знаем и любим:
Также обратите внимание на следующее из документации класса Lifecycle:
События ON_CREATE, ON_START, ON_RESUME в этом классе отправляются после возврата связанного с LifecycleOwner метода. События ON_PAUSE, ON_STOP, ON_DESTROY в этом классе отправляются до вызова связанного с LifecycleOwner метода
Исполнение onPause()
является закрывающей границей для RESUMED
государство. На данный момент, активность больше не считается RESUMED
и это конечно не DESTROYED
, Так как у нас нет PAUSED
заявить, что это следует теперь должно быть в STARTED
государство. Технически это верно, действие еще не остановлено, но больше не возобновляется.