Heim >häufiges Problem >Beschreiben Sie kurz den Lebenszyklus der Aktivität
Empfohlenes Tutorial: Android-Tutorial
In diesem Artikel wird die Aktivität kurz vorgestellt Lebenszyklus, der Inhalt stammt hauptsächlich aus offiziellen Dokumenten.
Bevor wir jede Lebenszyklusmethode kurz beschreiben, geben wir einen Gesamtüberblick. Wir können den Aktivitätslebenszyklus auf drei Ebenen überwachen
Vollständiger Lebenszyklus: Der vollständige Lebenszyklus beginnt mit dem Rückruf der onCreate-Methode und endet mit dem Rückruf der onDestroy-Methode
Sichtbarer Zyklus: Der Der sichtbare Zyklus beginnt. Der Vordergrundzyklus beginnt mit dem Rückruf der onResume-Methode und endet mit dem Rückruf der onPause-Methode.
Das Folgende ist eine kurze Einführung. Schauen wir uns jede Lebenszyklusmethode an :
onCreate Die erste Methode des Lebenszyklus, , zeigt an, dass die Aktivität erstellt (gestartet) wird. Besonderer Hinweis: Wenn Sie die Finish-Methode innerhalb dieser Methode aufrufen, wird der onDestroy-Rückruf sofort ausgelöst und andere Lebenszyklen werden nicht ausgeführt
onRestart Die Voraussetzung für das Auslösen dieser Methode : Die onStop-Methode wird aufgerufen. Die onStop-Methode wird aufgerufen, wenn die Aktivität unsichtbar ist und wieder sichtbar wird. Nachdem diese Methode zurückgerufen wurde, löst das System nacheinander die Methoden onStart und onResume aus.
onStart wird aufgerufen, wenn die Aktivität sichtbar ist (die Aktivität befindet sich zu diesem Zeitpunkt nicht im Vordergrund): wird nach der onCreate-Methode aufgerufen oder wenn die Aktivität aufgrund der onStop-Methode unsichtbar ist aufgerufen, und die Aktivität ist wieder sichtbar
onResume Der Rückruf dieser Methode erkennt, dass die Aktivität im Vordergrund steht . Aus der offiziellen Dokumentation geht hervor, dass dies besser für den Start von Animationen und den exklusiven Zugriff auf Geräte (z. B. Kameras) geeignet ist
onPause Activity wird in den Hintergrund treten, um diese Methode aufzurufen . Es ist wichtig zu beachten, dass, wenn Aktivität A Aktivität B startet, Aktivität B erst erstellt wird, wenn der Rückruf der onPause-Methode von Aktivität A abgeschlossen ist. Führen Sie daher in dieser Rückrufmethode keine zeitaufwändigen Vorgänge aus.
onStop Diese Methode wird aufgerufen, wenn sich die Aktivität von sichtbar zu unsichtbar ändert.
onDestroy Die letzte Methode des Lebenszyklus, die angibt, dass die Aktivität bald verfügbar sein wird zerstört. In der offiziellen Dokumentation heißt es, dass das System in einigen Fällen den Aktivitätshostprozess einfach und grob abbricht (wie im Diagramm unten mit 1 markiert), sodass wir uns nicht auf diese Methode zur Datenspeicherung verlassen sollten, sondern diese Methode zur Ressourcenfreigabe verwenden können Betrieb
Das folgende Bild ist das Diagramm im offiziellen Dokument AktivitätslebenszyklusdiagrammDieses Bild ist sehr klar und streng , aber die offizielle Beschreibung jeder Lebenszyklus-Rückrufmethode im Dokument ist nicht sehr detailliert. Wenn Sie das Dokument also nicht sorgfältig lesen, ist es schwierig, die Richtung der Lebenszyklus-Methoden im Bild zu verstehen einige Methoden falsch verstehen. Beispielsweise verstehen einige Kinder möglicherweise die onStop-Methode falsch und glauben fälschlicherweise, dass diese Methode aufgerufen wird, wenn die Aktivität in den Hintergrund eintritt. Tatsächlich wird die onPause-Methode aufgerufen, wenn sie in den Hintergrund eintritt, und die onStop-Methode wird aufgerufen, wenn sie unsichtbar ist Kinder glauben fälschlicherweise, dass die onResume-Methode zurückgerufen wird. Tatsächlich sollten wir anhand des hasFocus-Parameters im öffentlichen void onWindowFocusChanged (boolean hasFocus) bestimmen, ob eine Interaktion möglich ist.Ob die Aktivität sichtbar ist oder nicht und ob sie im Vordergrund steht, sind zwei verschiedene Dinge , onStart und onStop werden gepaart, um zu beschreiben, ob die Aktivität sichtbar ist; onPause und onResume werden gepaart, um zu beschreiben, ob die Aktivität im Vordergrund steht. Die Sichtbarkeit einer Aktivität bedeutet nicht, dass mit ihr interagiert werden kann, und ebenso kann es sein, dass mit ihr nicht interagiert werden kann, wenn sie im Vordergrund steht. Ein direktes Beispiel wäre, wenn die Aktivität einen Dialog anzeigt, die Aktivität zu diesem Zeitpunkt noch im Vordergrund steht, wir aber nicht mit der Aktivität interagieren können
von Aktivität B auf
Das obige ist der detaillierte Inhalt vonBeschreiben Sie kurz den Lebenszyklus der Aktivität. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!