Cykl życia aktywności na Androidzie jest kontrolowany przez 7 metod klasy android.app.Activity. Działanie Androida jest podklasą klasy ContextThemeWrapper.
Aktywność to pojedynczy ekran w systemie Android. To jest jak okno lub ramka Java.
Za pomocą aktywności możesz umieścić wszystkie elementy interfejsu użytkownika lub widżety na jednym ekranie.
Metoda 7 cyklu życia działania opisuje, jak aktywność będzie się zachowywać w różnych stanach.
drzewo binarne w Javie
Metody cyklu życia aktywności Androida
Zobaczmy 7 metod cyklu życia działania Androida.
metoda | Opis |
---|---|
na Utwórz | wywoływana przy pierwszym utworzeniu działania. |
naStart | wywoływana, gdy aktywność staje się widoczna dla użytkownika. |
na Wznów | wywoływana, gdy aktywność rozpocznie interakcję z użytkownikiem. |
w pauzie | wywoływana, gdy aktywność nie jest widoczna dla użytkownika. |
naStopie | wywoływana, gdy aktywność nie jest już widoczna dla użytkownika. |
naUruchom ponownie | wywoływany po zakończeniu aktywności, przed jej rozpoczęciem. |
naZniszcz | wywoływane przed zniszczeniem działania. |
Przykład cyklu życia aktywności w Androidzie
Zawiera szczegółowe informacje na temat wywoływania metod działania związanych z cyklem życia. W tym przykładzie wyświetlamy zawartość logcat.
Plik: MainActivity.javapackage example.javatpoint.com.activitylifecycle; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d('lifecycle','onCreate invoked'); } @Override protected void onStart() { super.onStart(); Log.d('lifecycle','onStart invoked'); } @Override protected void onResume() { super.onResume(); Log.d('lifecycle','onResume invoked'); } @Override protected void onPause() { super.onPause(); Log.d('lifecycle','onPause invoked'); } @Override protected void onStop() { super.onStop(); Log.d('lifecycle','onStop invoked'); } @Override protected void onRestart() { super.onRestart(); Log.d('lifecycle','onRestart invoked'); } @Override protected void onDestroy() { super.onDestroy(); Log.d('lifecycle','onDestroy invoked'); } }
Wyjście:
Nie zobaczysz żadnych danych wyjściowych na emulatorze lub urządzeniu. Musisz otworzyć logcat.
Teraz zobacz w logcat: Wywoływane są metody onCreate, onStart i onResume.
Teraz kliknij przycisk HOME. Zobaczysz, że wywołana została metoda onPause.
Po chwili zobaczysz, że została wywołana metoda onStop.
nginx
Teraz zobacz na emulatorze. Jest w domu. Teraz kliknij środkowy przycisk, aby ponownie uruchomić aplikację.
Teraz kliknij ikonę lifecycleactivity.
Teraz zobacz w logcat: Wywoływane są metody onRestart, onStart i onResume.
Jeśli zobaczysz emulator, aplikacja zostanie uruchomiona ponownie.
Teraz kliknij przycisk Wstecz. Teraz zobaczysz, że wywoływane są metody onPause.
Po chwili zobaczysz, że wywoływane są metody onStop i onDestroy.