Разница между 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()
может вызываться несколько раз в жизненном цикле активности.подробнее здесь