Diferença entre o oncreato() e o onStart()? [duplicado]

possível duplicado:
ciclo de vida da Atividade Android-diferença entre onPause() e OnStop()

estava a pensar - Qual é a diferença entre onCreate() e onStart() Métodos?

acho que onStart() é um método redundante. onCreate() será sempre chamado (pelo menos nos meus dois últimos projectos).

Alguém pode explicar a diferença?

Author: Community, 2011-07-25

2 answers

Dê uma olhada no ciclo de vida da atividade enter image description here

Onde

***onCreate()***

Chamada quando a actividade é criada pela primeira vez. Aqui é onde você deve fazer toda a sua configuração estática normal: criar vistas, ligar dados para listas, etc. Este método também lhe fornece um pacote contendo o estado previamente congelado da atividade, se houve um. Sempre seguido por onStart ().

***onStart()***

Chamado quando a actividade está a tornar-se visível para o utilizador. Seguido de onResume () se a actividade vem para o primeiro plano, ou onStop() se ele se torna escondido.

E você pode escrever sua classe simples para dar uma olhada quando estes métodos chamam

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 isto esclareça a tua confusão.

E dê uma olhada aqui para mais detalhes.

métodos do ciclo de vida em detalhes é um bom exemplo e aplicação demo, que é um artigo muito bom para entender o ciclo de vida.

 316
Author: Pankaj Kumar, 2013-11-15 04:46:29

onCreate() o método é chamado quando a atividade é criada, e é chamado apenas uma vez em todo o ciclo de vida da atividade. onde onStart() é chamado quando a actividade é interrompida... Quero dizer que foi para segundo plano e o seu método é chamado pelo so. onStart() pode ser chamado várias vezes no ciclo de vida da actividade.Mais detalhes aqui

 22
Author: ngesh, 2015-12-13 04:58:11