Synchronisierte App-Übergänge sind eine Funktion in Android 9, die die bestehende App-Übergangsarchitektur verbessert. Wenn ein Benutzer Apps öffnet, schließt oder zwischen ihnen wechselt, sendet der SystemUI- oder Launcher-Prozess (Startbildschirm) eine Anfrage zur Steuerung der Animation Bild für Bild mit garantierter Synchronisierung zwischen Ansichtsanimationen und Fensteranimationen. Wenn die SystemUI oder der Launcher einen neuen Frame als Teil einer Animation zeichnet, fordert sie eine andere Transformation auf der animierten App-Oberfläche an, die bestimmt, wie die App auf dem Bildschirm zusammengesetzt ist, und markiert die Anforderung, eine Oberflächentransaktion, mit der synchronisiert werden soll Rahmen, der gerade gezeichnet wird.
Dies ermöglicht neue App-Übergangsanimationen, die auf Android 8.x und niedriger nicht möglich sind. Beispielsweise kann die App-Startanimation Homescreen-Symbole nahtlos in die App-Oberfläche umwandeln und die Benachrichtigungsstartanimation kann Benachrichtigungen in die App-Oberfläche umwandeln.
Beispiele und Quelle
Weitere Informationen zu dieser Funktion finden Sie in den folgenden Referenzen.
-
ActivityOptions.makeRemoteAnimation
-
RemoteAnimationAdapter
-
RemoteAnimationRunner
-
Activity.registerRemoteAnimations
Eine Referenzimplementierung für die Benachrichtigungsstartanimation finden Sie unter ActivityLaunchAnimator.kt
.
Implementierung
Sie können diese Funktion je nach Bedarf auf der Launcher-/System-Benutzeroberfläche implementieren oder die AOSP-Implementierung in SystemUI/Launcher3 verwenden.
Validierung
Um die Leistung der Animationen zu validieren, messen Sie die Leistung der steuernden App, d. h. SystemUI oder Launcher, während der Animationen, wie unter Testen der UI-Leistung beschrieben.