0Pricing
Android Academy · Lektion

Der Android-Lifecycle

Verstehen Sie die Lebenszyklen von Activity und Composition.

Der Android-Lifecycle ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist der Lifecycle?

Jede Android-Activity durchläuft eine Reihe von Zuständen, während der Benutzer Ihre App öffnet, verlässt und zu ihr zurückkehrt. Das ist der Lifecycle.

Wenn Sie ihn verstehen, können Sie Arbeit zum richtigen Zeitpunkt starten und beenden.

Zentrale Activity-Callbacks

Die klassischen Callbacks des Activity-Lifecycles werden in dieser Reihenfolge ausgeführt:

  • onCreate — die Activity wird erstellt.
  • onStart — die Activity wird sichtbar.
  • onResume — die Activity ist im Vordergrund und interaktiv.
  • onPause / onStop / onDestroy — die Activity wird verlassen.

Ein typischer Ablauf

App öffnen: onCreate → onStart → onResume.

Home-Taste drücken: onPause → onStop.

Zurückkehren: onRestart → onStart → onResume.

Lifecycle-Zustände und Ereignisse

Die Jetpack-Bibliothek Lifecycle bildet dies mit States (CREATED, STARTED, RESUMED, DESTROYED) und Events (ON_CREATE, ON_START, ...) ab.

Komponenten können diese beobachten, anstatt rohe Callbacks zu überschreiben.

LifecycleOwner

Activities, Fragments und Compose-Hosts sind LifecycleOwners. Sie stellen ein Lifecycle-Objekt bereit, das andere Komponenten beobachten können.

val owner: LifecycleOwner = this // an Activity
val lifecycle = owner.lifecycle

Warum das für Ressourcen wichtig ist

Viele Ressourcen sollten nur aktiv sein, solange der Bildschirm sichtbar ist:

  • Standortaktualisierungen.
  • Sensor-Listener.
  • Kamerasitzungen.

Starten Sie sie in onStart/onResume und beenden Sie sie in onStop/onPause, um Akku zu sparen und Leaks zu vermeiden.

Lifecycle in Jetpack Compose

Composables haben keine Activity-Callbacks. Stattdessen verfügen sie über einen Composition-Lifecycle: Sie werden in die Composition aufgenommen, recomposen und verlassen sie schließlich wieder.

Auf die Composition mit DisposableEffect reagieren

DisposableEffect führt die Einrichtung aus, wenn ein Composable in die Composition aufgenommen wird, und die Bereinigung, wenn es sie verlässt.

@Composable
fun Screen() {
    DisposableEffect(Unit) {
        // setup, e.g. register listener
        onDispose {
            // cleanup when leaving composition
        }
    }
}

Den tatsächlichen Lifecycle in Compose beobachten

Um aus einem Composable auf tatsächliche Activity-Lifecycle-Ereignisse zu reagieren, beobachten Sie den LifecycleOwner mit einem DefaultLifecycleObserver.

@Composable
fun OnResume(onResume: () -> Unit) {
    val owner = LocalLifecycleOwner.current
    DisposableEffect(owner) {
        val obs = object : DefaultLifecycleObserver {
            override fun onResume(o: LifecycleOwner) = onResume()
        }
        owner.lifecycle.addObserver(obs)
        onDispose { owner.lifecycle.removeObserver(obs) }
    }
}

Das ViewModel und der Lifecycle

Denken Sie daran: Das ViewModel überlebt einzelne Lifecycle-Zustände wie onStart/onStop. Es wird erst gelöscht, wenn der Owner dauerhaft nicht mehr existiert. Genau deshalb können Sie dort sicher den Zustand halten.

Alles zusammenführen

Ein gut strukturiertes UI:

  • Bewahrt dauerhaften Zustand in einem ViewModel auf.
  • Startet und beendet nur bei Sichtbarkeit benötigte Ressourcen unter Berücksichtigung des Lifecycles.
  • Collectet Flows nur, solange die UI mindestens den Zustand STARTED hat (nächste Lektion).

Kurzer Test

Testen Sie Ihr Wissen über den Lifecycle.

Zusammenfassung

Sie haben gelernt:

  • Activities durchlaufen die Zustände CREATED, STARTED, RESUMED und DESTROYED.
  • Compose hat einen eigenen Composition-Lifecycle, der über DisposableEffect verwaltet wird.
  • Beobachten Sie den LifecycleOwner, um auf tatsächliche Lifecycle-Ereignisse zu reagieren.
  • ViewModels überleben diese Zustände absichtlich.

Häufig gestellte Fragen

Ist die Lektion „Der Android-Lifecycle“ kostenlos?

Ja — der vollständige Text von „Der Android-Lifecycle“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Der Android-Lifecycle“?

Verstehen Sie die Lebenszyklen von Activity und Composition. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Android Academy zu starten?

Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Der Android-Lifecycle“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?

Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Warum ein ViewModel verwenden?
  2. Zustand aus dem ViewModel bereitstellen
  3. Der Android-Lifecycle
  4. collectAsStateWithLifecycle
← Zurück zu Android Academy