web-dev-qa-db-fra.com

Android - Lors du basculement entre deux activités, l'ordre d'appel des méthodes de cycle de vie de l'activité

Je veux démarrer une activité (SECOND activité) à partir d'une autre activité (FIRST Activity) en appelant startActivity(intent). Avant de le faire, j'ai trouvé que les gens disaient que les méthodes de cycle de vie sont appelées dans l'ordre suivant:

FIRST Activity onCreate
FIRST Activity onStart
FIRST Activity onResume
FIRST Activity onPause
SECOND Activity onCreate
SECOND Activity onStart
SECOND Activity onResume
FIRST Activity onStop

Est le SECOND Activity onResume toujours appelé avant FIRST Acitivity onStop? j'ai pensé

FIRST Activity onPause
FIRST Activity onStop
SECOND Activity onCreate
SECOND Activity onStart
SECOND Activity onResume

sera appelé, mais il ne semble pas.

De plus, si je commute simplement entre deux activités,

FIRST Activity onPause
SECOND Activity onRestart
SECOND Activity onStart
SECOND Activity onResume
FIRST Activity onStop

Les méthodes sont-elles toujours appelées dans cet ordre?

34
Naetmul

Selon la documentation, SECOND.onResume () est censé être appelé avant FIRST.onStop () https://developer.Android.com/guide/components/activities/activity-lifecycle.html#soafa = ( Coordination des activités section)

44
Y2i

Supposons qu'il existe deux activités FirstActivity et SecondActivity.

Ensuite, cette commande restera toujours la même à chaque fois.

// lorsque vous démarrez FirstActivity

(1) OnCreate () -> OnStart () -> OnResume () de FirstActivity sera appelé

lorsque vous démarrez SecondActivity à l'aide de startActivity (new Intent (FirstActivity.this, SecondActivity.class)))

(2) OnPause () de FirstActivity sera appelé, puis

(3) OnCreate () -> OnStart () -> OnResume () of SecondActivity sera appelé puis

(4) OnStop () de FirstActivity sera appelé

// lorsque vous appuyez sur le bouton de retour sur SecondActivity

(5) OnPause () de SecondActivity sera appelé alors

(6) OnRestart () -> OnStart () -> OnResume () of FirstActivity sera appelé alors

(7) onStop () -> onDestroy () of SecondActivity sera appelé

 Note: 

 (1) OnPause() will be called first when you navigate to any other activity.

 (2) OnStop() will be called when activity is no longer Visible on screen.
19
Samir Mangroliya