Différence entre onCreate () et onStart ()? [dupliquer]
possible Duplicate:
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 mon deux derniers projets).
est-ce que quelqu'un peut expliquer la différence?
2 réponses
regardez le cycle de vie de L'activité
où
***onCreate()***
appelé lors de la création de l'activité. C'est là que vous devriez faire tout votre montage statique normal: créer des vues, lier des données à des listes, etc. Cette méthode vous fournit également un paquet contenant l'état précédemment gelé de l'activité, s'il y en avait un. Toujours suivi de onStart().
***onStart()***
appelé quand l'activité devient visible pour l'utilisateur. Suivi de onResume() si l'activité arrive au premier plan, ou onStop () si elle devient caché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 va dissiper votre confusion.
et regardez ici pour plus de détails.
cycle de vie Methods in Details 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.
onCreate()
la méthode est appelée lorsque l'activité est créée, et elle n'est appelée qu'une seule fois dans tout le cycle de vie de l'activité.
où as onStart()
est appelé quand l'activité est arrêtée... Je veux dire qu'il est allé à l'arrière-plan et sa méthode onStop()
est appelé par l'os. onStart()
peut être appelé plusieurs fois dans le cycle de vie de l'activité. plus de détails ici