Diferencia entre onCreate() y onStart()? [duplicar]


Posible Duplicado:
Android Activity Life Cycle-diferencia entre onPause () y onStop()

Me preguntaba - ¿cuál es la diferencia entre onCreate() y onStart() métodos?

Creo que onStart() es un método redundante. onCreate() SIEMPRE será llamado (Al menos en mis dos últimos proyectos).

¿Puede alguien explicar la diferencia?

Author: Community, 2011-07-25

2 answers

Echa un vistazo al ciclo de vida de la actividad introduzca la descripción de la imagen aquí

Donde

***onCreate()***

Se llama cuando se crea la actividad por primera vez. Aquí es donde debe hacer toda su configuración estática normal: crear vistas, vincular datos a listas, etc. Este método también le proporciona un Paquete que contiene el estado previamente congelado de la actividad, si había uno. Siempre seguido por onStart().

***onStart()***

Se llama cuando la actividad se vuelve visible para el usuario. Seguido de onResume () si la actividad llega a el primer plano, o onStop() si se oculta.

Y puede escribir su clase simple para echar un vistazo cuando estos métodos llaman

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

Espero que esto aclare tu confusión.

Y echa un vistazo aquí para más detalles.

Lifecycle Methods in Details es un muy buen ejemplo y aplicación de demostración, que es un artículo muy bueno para entender el ciclo de vida.

 316
Author: Pankaj Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-15 04:46:29

onCreate() el método se llama cuando se crea la actividad, y se llama solo una vez en todo el ciclo de vida de la actividad. donde se llama a as onStart() cuando se detiene la actividad... Quiero decir que ha pasado a segundo plano y su método onStop() es llamado por el sistema operativo. onStart() puede ser llamado varias veces en el ciclo de vida de la actividad.Más detalles aquí

 22
Author: ngesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-13 04:58:11