В чем разница между onResume () и onPostResume () в жизненном цикле активности? - PullRequest
2 голосов
/ 18 апреля 2020

Во время учебной деятельности LifeCycle в Android я запутался в этих двух методах. Я попытался реализовать оба из них по отдельности и работает нормально. Итак, в чем разница между этими двумя близнецами?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

onResume():

protected void onResume() Вызывается после onRestoreInstanceState(Bundle), onRestart() или onPause(), чтобы ваша деятельность начала взаимодействовать с пользователем. Это показатель того, что действие стало активным и готово к получению ввода. Он находится над стеком активности и виден пользователю.

В версиях платформы до Build.VERSION_CODES.Q это также хорошее место, чтобы попытаться открыть устройства с эксклюзивным доступом или получить доступ к одноэлементным ресурсам. , Начиная с Build.VERSION_CODES.Q в системе может быть несколько возобновленных действий одновременно, поэтому для этой цели следует использовать onTopResumedActivityChanged (boolean).

Производные классы должны вызывать реализацию этого метода суперкласса , Если этого не произойдет, будет выдано исключение.

Если вы переопределите этот метод, вы должны вызвать реализацию суперкласса.

onPostResume():

protected void onPostResume() Вызывается после завершения возобновления активности (после вызова onResume()). Приложения обычно не реализуют этот метод; он предназначен для того, чтобы системные классы выполняли окончательную настройку после выполнения кода возобновления приложения.

Производные классы должны вызывать реализацию этого метода суперклассом. Если этого не произойдет, будет сгенерировано исключение.

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

0 голосов
/ 18 апреля 2020

onPostResume:

Вызывается после завершения возобновления активности (после вызова {@link #onResume} действия). Приложения обычно не реализуют этот метод; он предназначен для того, чтобы системные классы выполняли окончательную настройку после выполнения кода возобновления работы приложения.

Он будет выполнять следующие действия

Это обеспечит видимость экрана для пользователя и выполнит окончательную настройку. для активности.

Удалите все ожидающие сообщения с кодом «что» в очереди сообщений.

Проверьте, все ли фрагменты возобновляются и перемещает все фрагменты, управляемые FragmentManager контроллера, в резюме. состояние.

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

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

onResume () - Activity

onResume () - Фрагмент проверки третьей точки, как описано выше

onPostResume () - Действие См. Здесь: Методы жизненного цикла действия: значимость onPostResume

...