Разница между onCreate () и onStart ()? [дубликат]


Возможные Дубликаты:
жизненный цикл активности Android-разница между onPause () и OnStop ()

мне было интересно - в чем разница между onCreate() и onStart() методами?

думаю, что onStart() является избыточным методом. onCreate() всегда будет называться (по крайней мере, в моих последних двух проектах).

может кто-нибудь объяснить разницу?

2 134

2 ответа:

взгляните на жизненный цикл деятельности enter image description here

здесь

***onCreate()***

вызывается при первом создании действия. Здесь вы должны выполнить все свои обычные статические настройки: создать представления, привязать данные к спискам и т. д. Этот метод также предоставляет вам пакет, содержащий ранее замороженное состояние действия, если оно было. Всегда сопровождается onStart ().

***onStart()***

вызывается, когда действие становится видимым для пользователя. С последующим onResume () если действие выходит на передний план, или onStop () если оно становится скрытым.

а вы можете написать свой простой класс, чтобы посмотреть, когда эти методы называют

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

надеюсь, что это прояснит ваше замешательство.

и посмотри здесь для сведения.

методы жизненного цикла в подробности это очень хороший пример и демонстрационное приложение, которое является очень хорошей статьей, чтобы понять жизнь ездить на велосипеде.

onCreate() метод вызывается при создании activity, и он вызывается только один раз за весь жизненный цикл Activity. где как onStart() вызывается при остановке активности... Я имею в виду, что он пошел на задний план и его onStop() метод вызывается ОС. onStart() может вызываться несколько раз в жизненном цикле активности.подробнее здесь