Question

Possible en double: Android Activité du cycle de vie - différence entre OnPause () et OnStop ()

Je me demandais - Quelle est la différence entre les méthodes de onCreate() et onStart()

Je pense que onStart() est une méthode redondante. onCreate() sera toujours appelée (au moins dans mes deux derniers projets).

Quelqu'un peut-il expliquer la différence?

Était-ce utile?

La solution

Jetez un coup d'oeil sur le cycle de vie de l'activité entrer image description ici

***onCreate()***

Appelé lorsque l'activité est créée. C'est là que vous devez faire tout votre statique normale mis en place: créer des vues, lier les données aux listes, etc. Cette méthode vous fournit également un ensemble contenant l'activité de l'Etat préalablement congelé, il y avait un. Toujours suivie par onStart ().

***onStart()***

Appelé lorsque l'activité devient visible pour l'utilisateur. Suivie par onResume () si l'activité est au premier plan, ou onStop () si elle est cachée.

Et vous pouvez écrire votre classe simple de jeter un oeil quand 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 .....");
    }
}

Espérons que cela effacera votre confusion.

Et jetez un oeil pour plus de détails.

Cycle de vie dans les méthodes Détails est un très bon exemple et l'application de démonstration, ce qui est un très bon article pour comprendre le cycle de vie.

Autres conseils

méthode onCreate() est appelée lorsque l'activité est créée, et son appelé une seule fois dans tout le cycle de vie d'activité. alors que onStart() est appelée lorsque l'activité est arrêtée ... Je veux dire qu'il est allé à fond et sa méthode de onStop() est appelé par l'os. onStart() peut être appelée plusieurs fois dans le cycle de vie d'activité. Plus d'informations ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top