Welche Methoden des Lebenszyklus einer Activity kennen Sie und wie werden sie ausgeführt?
sobes.tech KI
Antwort von AI
onCreate(): Wird beim ersten Erstellen der Activity aufgerufen. Wird verwendet, um die Benutzeroberfläche und Daten zu initialisieren.onStart(): Die Activity wird für den Benutzer sichtbar.onResume(): Die Activity wird aktiv und befindet sich im Vordergrund. Der Benutzer kann mit ihr interagieren.onPause(): Wird aufgerufen, wenn die Activity in den Hintergrund wechselt oder eine andere Activity sie teilweise überdeckt. Wird verwendet, um den Zustand zu speichern, der schnell wiederhergestellt werden muss.onStop(): Die Activity ist für den Benutzer nicht mehr sichtbar. Wird verwendet, um ungenutzte Ressourcen freizugeben.onDestroy(): Wird vor der Zerstörung der Activity aufgerufen. Wird verwendet, um endgültige Ressourcen zu bereinigen.onRestart(): Wird nachonStop()aufgerufen, wenn die Activity wieder sichtbar wird.
Ausführungsreihenfolge bei Start: onCreate() -> onStart() -> onResume().
Ausführungsreihenfolge beim Übergang in den Hintergrund (z.B. beim Drücken der Home-Taste): onPause() -> onStop().
Ausführungsreihenfolge beim Zurückkehren aus dem Hintergrund: onRestart() -> onStart() -> onResume().
Ausführungsreihenfolge beim Zerstören der Activity: onPause() -> onStop() -> onDestroy().
Beim Drehen des Bildschirms wird die Activity zerstört und neu erstellt. Reihenfolge: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Zum Speichern des Zustands wird onSaveInstanceState() (vor onStop() aufgerufen) und die Wiederherstellung in onCreate() oder onRestoreInstanceState() (nach onStart() aufgerufen) verwendet.
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // UI-Initialisierung
// Zustand aus savedInstanceState wiederherstellen
}
override fun onStart() {
super.onStart()
// Activity wird sichtbar
}
override fun onResume() {
super.onResume()
// Activity im Vordergrund, für Interaktionen bereit
}
override fun onPause() {
super.onPause()
// Activity wechselt in den Hintergrund
// Schnelles Wiederherstellen des Zustands
}
override fun onStop() {
super.onStop()
// Activity ist nicht sichtbar
// Ressourcen freigeben
}
override fun onDestroy() {
super.onDestroy()
// Activity wird zerstört
// Endgültige Ressourcenbereinigung
}
override fun onRestart() {
super.onRestart()
// Activity kehrt aus dem Hintergrund zurück
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Zustand vor Zerstörung speichern
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Zustand wiederherstellen
}
}