Kann ich UI / Ansichten aktualisieren (z. B. Texttext ändern), während eine Aktivität pausiert ist, z. B. weil eine andere Aktivität gestartet wurde?
Ich habe eine kleine Test-App implementiert, die so etwas macht, indem ich Aktivitäten mit einem Eventbus verbinde.
Aktivität A hat eine Textansicht. Aktivität A registriert sich in OnCreate () beim EventBus und hebt die Registrierung in onDestroy () auf. Aktivität A startet Aktivität B. Aktivität B führt einige Änderungen durch und löst ein ChangedEvent aus. Dieses ChangedEvent wird von Activity A empfangen, da es auch dann noch registriert ist, wenn Activity A pausiert ist und die TextView von Activity A (Ändern des Texts) aktualisiert.
Alles funktioniert gut. Ich habe das auf verschiedenen Nexus-Geräten und Emulatoren in verschiedenen Android-Versionen (2.3.3 bis 4.3) getestet. Keine Ausnahmen oder unerwartetes Verhalten.
Es ist also sicher zu sagen, dass ich eine App mit einer Aktivität erstellen kann, die seine Ansicht aktualisiert, während die Aktivität pausiert ist? Kommt es auf den Hersteller usw. an? Ich könnte meine Beispiel-App nur auf Android-Geräten testen.
Ja, Sie können darauf zählen.
Ansichten interessieren sich nicht wirklich für den Lebenszyklus der Aktivität, die ihr Fenster besitzt. (Sie können andere Ansichten direkt außerhalb des Aktivitätslebenszyklus hinzufügen.)
Es sei denn, eine Aktivität wird tatsächlich zerstört (und natürlich, solange Ihr Prozess nicht beendet wird), bleibt eine Aufzeichnung ihres Fensters und ihrer Ansichten erhalten. Wenn das Fenster weiterhin sichtbar ist, werden Aktualisierungen der darin enthaltenen Ansichten auch dann angezeigt, wenn die Aktivität pausiert ist.
Tags und Links android android-activity