Heim  >  Artikel  >  Java  >  Android Development Series 2: Der Lebenszyklus der Fensteraktivität

Android Development Series 2: Der Lebenszyklus der Fensteraktivität

高洛峰
高洛峰Original
2017-01-07 15:49:561473Durchsuche

Im letzten Artikel habe ich Ihnen die Verwendung von Schaltflächen zur Anzeige der Zeit in der Android-Entwicklungsreihe vorgestellt. Interessierte Freunde können darauf klicken, um die Details zu lesen.

Im Prozess der Aktivität von der Schöpfung bis zur Zerstörung müssen 7 Lebenszyklusmethoden in verschiedenen Phasen aufgerufen werden. Diese 7 Lebenszyklusmethoden sind wie folgt definiert:

protected void onCreate(Bundle savedInstanceState)
protected void onStart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onRestart()
protected void onDestroy()

Die oben genannten 7 Lebenszyklusmethoden werden in einer bestimmten Reihenfolge in 4 Phasen aufgerufen

1 Startaktivität: In dieser Phase werden die 3 Lebenszyklusmethoden nacheinander ausgeführt. nämlich onCreate, onStart, onResume

2, Aktivität verliert den Fokus: Wenn Sie andere Aktivitäten oder Anwendungen eingeben, während die Aktivität den Fokus erhält, verliert die aktuelle Aktivität den Fokus und die Methoden onPause und onStop werden nacheinander ausgeführt Diese Phase

3. Die Aktivität erhält den Fokus: Zu diesem Zeitpunkt werden die Methoden onRestart, onStart und onResume nacheinander ausgeführt

4. Aktivität schließen: Wenn die Aktivität geschlossen ist, führt das System 3 aus Lebenszyklusmethoden nacheinander, nämlich onPause, onStop, onDestory

Wenn während der Ausführung der Lebenszyklusmethoden in diesen vier Phasen keine Zustandsänderungen auftreten, führt das System die Lebenszyklusmethoden in den vier Phasen nacheinander aus in der oben genannten Reihenfolge. Wenn während der Ausführung Nach dem Ändern des Status ruft das System die Lebenszyklusmethode auf komplexere Weise auf

Wenn die Aktivität während der Ausführung der onStop-Methode den Fokus wiedererlangt und dann verliert Fokus, das System führt nicht die onDestory-Methode aus, sondern führt die Lebenszyklusmethoden in der folgenden Reihenfolge aus:

onStop->onRestart->onStart->onResume->onPause->onStop

Die folgende Abbildung beschreibt die Aktivität von der Erstellung bis zur Zerstörung und den Prozess des Aufrufs von Lebenszyklusmethoden nach den Zwischenzustandsänderungen

Aus dem oben gezeigten schematischen Diagramm der Aufrufmethoden im Aktivitätslebenszyklus geht hervor, dass dies der Fall ist Es ist leicht zu erkennen, dass der gesamte Aktivitätslebenszyklus zwei Schleifenschichten enthält. Die erste Schleifenschicht ist onPause->onResume->onPause, die zweite Schleifenschicht ist onStop->onRestart->onStart->onResume-> onPause->onStop. Wir können diese beiden Zyklenebenen als Unterlebenszyklen im gesamten Aktivitätslebenszyklus betrachten.

Die erste Ebene der Schleife wird als Fokuslebenszyklus bezeichnet, und die zweite Ebene der Schleife wird als visueller Lebenszyklus bezeichnet. Das heißt, die erste Ebene der Schleife durchläuft den Prozess des Gewinnens und Verlierens von Aktivität Während des Prozesses ist die Aktivität immer sichtbar und die Aktivität wird zuerst angezeigt. und dann wird es angezeigt. Den Fokus gewinnen, dann den Fokus verlieren und schließlich wird die aktuelle Aktivität aufgrund des Auftauchens anderer Aktivitäten unsichtbar.

Daher hat Aktivität die folgenden drei Lebenszyklen:

1. Gesamtlebenszyklus: onCreate->....->onDestroy

2. Visuelles Leben Zyklus: onStart->....->onStop

 3. Fokuslebenszyklus: onResume->....->onPause

Die folgenden Codes befinden sich in Aktivität Geben Sie Protokollinformationen in den 7 Lebenszyklusmethoden der Klasse aus

package com.neil.ad02;
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);
Log.d("onCreate","onCreate Method is executed");
setContentView(R.layout.activity_main);
}
@Override
protected void onDestroy()
{
super.onDestroy();
Log.d("onDestroy","onDestroy Method is executed");
}
@Override
protected void onPause()
{
super.onPause();
Log.d("onPause","onPause Method is executed");
}
@Override
protected void onRestart()
{
super.onRestart();
Log.d("onRestart","onRestart Method is executed");
}
@Override
protected void onResume()
{
super.onResume();
Log.d("onResume","onResume Method is executed");
}
@Override
protected void onStart()
{
super.onStart();
Log.d("onStart","onStart Method is executed");
}
@Override
protected void onStop()
{
super.onStop();
Log.d("onStop","onStop Method is executed");
}
}

Öffnen Sie Android Device Monitor, um zu beobachten

Android Development Series 2: Der Lebenszyklus der Fensteraktivität

Das rote Kästchen im Bild soll den Fokus wiedererlangen. Sie können die anderen nacheinander ausprobieren

Der obige Inhalt ist der Lebenszyklus der Fensteraktivität im zweiten Teil der vorgestellten Android-Lernreihe vom Herausgeber Ich hoffe, es wird Ihnen helfen!

Weitere Artikel zum Lebenszyklus der Fensteraktivität in Android Development Series 2 finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn