Duplicate possible:
Cycle de vie de l'activité Android - différence entre onPause () et OnStop ()
Je me demandais - quelle est la différence entre les méthodes onCreate()
et onStart()
?
Je pense que onStart()
est une méthode redondante. onCreate()
sera TOUJOURS appelé (au moins dans mes deux derniers projets).
Quelqu'un peut-il expliquer la différence?
Regardez le cycle de vie de l'activité
Où
***onCreate()***
Appelé lorsque l'activité est créée pour la première fois. C’est ici que vous devez effectuer toute votre configuration statique normale: créer des vues, lier des données à des listes, etc. Cette méthode vous fournit également un Bundle contenant l’état précédemment gelé de l’activité, le cas échéant. Toujours suivi de onStart ().
***onStart()***
Appelé lorsque l'activité devient visible pour l'utilisateur. Suivi de onResume () si l'activité passe au premier plan ou de onStop () si elle est masquée.
Et vous pouvez écrire votre classe simple pour jeter un oeil lorsque ces méthodes appellent
public class TestActivity extends Activity {
/** Called when the activity is first created. */
private final static String TAG = "TestActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.i(TAG, "On Create .....");
}
/* (non-Javadoc)
* @see Android.app.Activity#onDestroy()
*/
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "On Destroy .....");
}
/* (non-Javadoc)
* @see Android.app.Activity#onPause()
*/
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "On Pause .....");
}
/* (non-Javadoc)
* @see Android.app.Activity#onRestart()
*/
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "On Restart .....");
}
/* (non-Javadoc)
* @see Android.app.Activity#onResume()
*/
@Override
protected void onResume() {
super.onResume();
Log.i(TAG, "On Resume .....");
}
/* (non-Javadoc)
* @see Android.app.Activity#onStart()
*/
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "On Start .....");
}
/* (non-Javadoc)
* @see Android.app.Activity#onStop()
*/
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "On Stop .....");
}
}
J'espère que cela effacera votre confusion.
Et jetez un oeil ici pour plus de détails.
Méthodes du cycle de vie en détail est un très bon exemple et une application de démonstration, qui est un très bon article pour comprendre le cycle de vie.
La méthode onCreate()
est appelée lors de la création d'une activité et n'est appelée qu'une fois dans le cycle de vie complet de l'activité. où as onStart()
est appelé lorsque l'activité est arrêtée ... Je veux dire qu'elle est passée en arrière-plan et que sa méthode onStop()
est appelée par le système d'exploitation. onStart()
peut être appelé plusieurs fois dans le cycle de vie de l'activité . Plus de détails ici