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?

134
demandé sur Community 2011-07-25 09:10:50

2 réponses

regardez le cycle de vie de L'activité enter image description here

***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.

316
répondu Pankaj Kumar 2013-11-15 04:46:29

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

22
répondu ngesh 2015-12-13 04:58:11