android - studio - oncreate on resume




Differenza tra onCreate() e onStart()? (2)

Possibile duplicato:
Ciclo di vita delle attività Android: differenza tra onPause () e OnStop ()

Mi stavo chiedendo: qual è la differenza tra i onCreate() e onStart() ?

Penso che onStart() sia un metodo ridondante. onCreate() sarà SEMPRE chiamato (almeno nei miei ultimi due progetti).

Qualcuno può spiegare la differenza?


Dai un'occhiata al ciclo di vita delle attività

Dove

***onCreate()***

Chiamato quando l'attività viene creata per la prima volta. È qui che dovresti eseguire tutte le normali impostazioni statiche: creare viste, associare dati agli elenchi, ecc. Questo metodo fornisce anche un pacchetto che contiene lo stato precedentemente congelato dell'attività, se ce n'era uno. Seguito sempre da onStart ().

***onStart()***

Chiamato quando l'attività sta diventando visibile all'utente. Seguito da onResume () se l'attività arriva in primo piano o onStop () se diventa nascosta.

E puoi scrivere la tua classe semplice per dare un'occhiata quando chiamano questi metodi

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 .....");
    }
}

Spero che questo chiarisca la tua confusione.

E dai un'occhiata here per i dettagli.

I Metodi del ciclo di vita in Dettagli sono un ottimo esempio e applicazione demo, che è un ottimo articolo per capire il ciclo di vita.


onCreate() metodo onCreate() viene chiamato quando viene creata l'attività, e viene chiamato una sola volta nell'intero ciclo di vita delle attività. dove viene chiamato onStart() quando viene interrotta l'attività ... Voglio dire che è andato in background e il suo metodo onStop() è chiamato onStop() . onStart() può essere chiamato più volte nel ciclo di vita delle attività. Maggiori dettagli qui





onstart