Android-приложение: onResume() и onStart()

Я прочитал документацию по onResume() и onStart() но одна вещь, которую я все еще не очистил, зависит от того, какой сценарий вызывает onResume() без onStart() перед этим?

5 ответов

См. Документацию по жизненному циклу активности Android.

onStart вызывается, когда ваше приложение запускается.

Если пользователь нажимает кнопку "Домой", или другое приложение делает фокус, будет вызываться onPause.

Если деятельность получает фокус, в то время как стили работает на устройстве, onResume будет называться, и onCreate НЕ будет называться снова.

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

Обратите внимание: каждый раз, onCreate вызывается onResume, также onResume.


Проверьте таблицу ниже:

Если ваша активность видна, но неактивна - onPause будет вызываться, а затем, когда вы вернетесь к этой операции - onResume


onStart() вызывается один раз при каждом запуске приложения и фактически вызывается после oncreate()

onResume() вызывается вместо этого, если приложение уже запущено, только в фоновом режиме.

если вы используете onPause(), возобновление будет вызвано, когда вы снова принесете свое приложение, в основном onResume() является повторно используемым onStart(), когда приложение уже запущено.

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


Один из таких сценариев, где onResume() вызывается без onStart(), - это изменение Focus. Подумайте о появлении диалогового окна на экране во время использования приложения. Это тот случай, когда onPause(), за которым следует onResume() после отклонения диалога.


onResume() вызывается без onStart() когда активность возобновляется с фона.

licensed under cc by-sa 3.0 with attribution.