Ich habe gelesen, dass einem Aufruf von onStop () immer ein Aufruf von onPause () vorangeht, egal was das Szenario ist. Referenz: Abbildung 1 auf Ссылка
Wir wissen, dass eine Aktivität angehalten wird, wenn sie nicht den Fokus des Benutzers hat, aber immer noch teilweise sichtbar ist, und wenn sie überhaupt nicht sichtbar ist, wird sie angehalten.
Jetzt, in dem Szenario, wenn ein Benutzer in einer Aktivität ist und aus dem letzten Apps-Fenster eine andere App auswählt und eingibt, wird die Aktivität von wiederaufgenommen / läuft in den gestoppten Zustand versetzt. Kein zwischenzeitlicher Status.
Nicht wahr?
Was ist der gute Grund, immer onPause () vor onStop () zu haben. Wir können in onStop () tun, was in onPause () getan wird. Warum brauchen wir onPause () immer vor onStop ()?
onPause()
wird immer aufgerufen. Dies ist garantiert. Wenn Sie einen Status in Ihrer Aktivität speichern möchten, müssen Sie ihn in onPause()
speichern. onStop()
kann nach onPause()
aufgerufen werden oder nicht. Hängt von der Situation ab.
Es gibt viele Lebenszyklusmethoden. Sie müssen nicht alle überschreiben. Sie müssen nur diejenigen außer Kraft setzen, bei denen Sie das Verhalten für Ihre Aktivität anpassen müssen (oder möchten). Es gibt viele Lebenszyklusmethoden, da unterschiedliche Anwendungen unterschiedliche Anforderungen haben. Der Lebenszyklus einer Aktivität ist gut dokumentiert und verhält sich gut. Dies ermöglicht Programmierern, den Code genau auf die Anforderungen der Anwendung zu setzen, wo sie benötigt werden.
Sie haben gefragt
Was ist der gute Grund, immer onPause () vor onStop () zu haben. Wir können in onStop () tun, was in onPause () getan wird.
onPause()
wird immer bei Ihrer Aktivität aufgerufen, wenn es im Vordergrund ist, wenn Android etwas anderes machen möchte. Es kann eine andere Aktivität starten, die dazu führen kann, dass der onStop()
Ihrer Aktivität aufgerufen wird. Es kann nur onResume()
für Ihre Aktivität aufrufen. Es kann nur Ihren Prozess beenden, ohne weitere Lebenszyklusmethoden aufzurufen.
Da onStop()
nicht garantiert aufgerufen wird, können Sie in onStop () nicht immer tun, was in onPause () gemacht wird.
In den meisten Aktivitäten werden Sie feststellen, dass Sie Code in onResume()
und onPause()
einfügen müssen. Normalerweise müssen Sie in onStop()
, onStart()
oder onRestart()
nichts tun.
Nein, die Methode onPause () wird immer ausgeführt. Tatsächlich ist es die einzige Methode, die garantiert aufgerufen wird, wenn Ihre Aktivität den Fokus verliert / gestoppt / zerstört wird.
Sehen Sie sich diese Seite an: Aktivität
onResume ()
Wird aufgerufen, wenn die Aktivität mit der Interaktion beginnt Benutzer. Zu diesem Zeitpunkt befindet sich Ihre Aktivität ganz oben im Aktivitätsstapel. mit Benutzereingaben zu gehen. Immer gefolgt von onPause ().
Tags und Links android