Разница между onCreate () и onStart ()? [дубликат]
Возможные Дубликаты:
жизненный цикл активности Android-разница между onPause () и OnStop ()
мне было интересно - в чем разница между onCreate() и onStart() методами?
думаю, что onStart() является избыточным методом. onCreate() всегда будет называться (по крайней мере, в моих последних двух проектах).
может кто-нибудь объяснить разницу?
2 ответа:
взгляните на жизненный цикл деятельности
здесь
***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()может вызываться несколько раз в жизненном цикле активности.подробнее здесь
