Ответ
При переходе между Activity вызывается следующий порядок методов:
-
В текущей Activity:
onPause()- активность теряет фокусonStop()- если новое Activity полностью перекрывает предыдущее
-
В новой Activity:
onCreate()onStart()onResume()- теперь она получает фокус
-
Если пользователь нажмет "Назад":
onPause()новой ActivityonCreate()/onRestart()+onStart()+onResume()предыдущей ActivityonStop()+onDestroy()новой Activity (если finish() был вызван)
Пример:
// Activity1
override fun onPause() {
super.onPause()
Log.d("LIFECYCLE", "Activity1 onPause")
}
// Activity2
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.d("LIFECYCLE", "Activity2 onCreate")
}