Android aktivitets livscyklus
Android aktivitets livscyklus styres af 7 metoder af android.app.Activity class. Android-aktiviteten er underklassen af ContextThemeWrapper-klassen.
En aktivitet er den enkelte skærm i Android. Det er som vindue eller ramme i Java.
Ved hjælp af aktivitet kan du placere alle dine UI-komponenter eller widgets på en enkelt skærm.
Aktivitetsmetoden med 7 livscyklusser beskriver, hvordan aktivitet vil opføre sig i forskellige tilstande.
Android Activity Lifecycle metoder
Lad os se de 7 livscyklusmetoder for Android-aktivitet.
| Metode | Beskrivelse |
|---|---|
| på Opret | kaldes, når aktivitet først oprettes. |
| på Start | kaldes, når aktivitet bliver synlig for brugeren. |
| på Genoptag | kaldes, når aktiviteten begynder at interagere med brugeren. |
| onPause | kaldes, når aktivitet ikke er synlig for brugeren. |
| onStop | kaldes, når aktivitet ikke længere er synlig for brugeren. |
| ved Genstart | kaldet efter din aktivitet er stoppet, før start. |
| på Ødelæg | ringes inden aktiviteten ødelægges. |
Fil: activity_main.xml Eksempel på Android-aktivitetslivscyklus
Det giver detaljerne om påberåbelsen af livscyklusaktivitetsmetoder. I dette eksempel viser vi indholdet på logcat.
Fil: MainActivity.java package 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'); } } Produktion:
Du vil ikke se noget output på emulatoren eller enheden. Du skal åbne logcat.
Se nu på logcat: metoderne onCreate, onStart og onResume påberåbes.
Klik nu på HJEM-knappen. Du vil se, at onPause-metoden aktiveres.
Efter et stykke tid vil du se, at onStop-metoden aktiveres.
Se nu på emulatoren. Det er på hjemmet. Klik nu på midterknappen for at starte appen igen.
Klik nu på ikonet for livscyklusaktivitet.
Se nu på logcat: onRestart, onStart og onResume metoderne påberåbes.
Hvis du ser emulatoren, startes programmet igen.
Klik nu på tilbage-knappen. Nu vil du se, at onPause-metoder er påberåbt.
Efter et stykke tid vil du se onStop- og onDestroy-metoderne blive påberåbt.