Synchronized App Transitions ist eine Funktion in Android 9, die die vorhandene Architektur für App-Übergänge verbessert. Wenn ein Nutzer Apps öffnet, schließt oder zwischen Apps wechselt, sendet der SystemUI- oder Launcher-Prozess (Startbildschirm) eine Anfrage, um den Animationsframe einzeln zu steuern und eine garantierte Synchronisierung zwischen Ansichts- und Fensteranimationen zu ermöglichen. Wenn die SystemUI oder der Launcher im Rahmen einer Animation einen neuen Frame zeichnet, wird eine andere Transformation auf der animierenden App-Oberfläche angefordert, die bestimmt, wie die App auf dem Bildschirm zusammengesetzt wird. Die Anfrage, eine Oberflächen-Transaktion, wird so markiert, dass sie mit dem Frame synchronisiert wird, der gerade gezeichnet wird.
Dadurch sind neue App-Übergangsanimationen möglich, die unter Android 8.x und niedriger nicht möglich sind. So kann die App-Startanimation beispielsweise Startbildschirmsymbole nahtlos in die App-Oberfläche übergehen lassen und die Benachrichtigungs-Startanimation Benachrichtigungen in die App-Oberfläche übergehen lassen.
Beispiele und Quelle
Weitere Informationen zu diesem Feature finden Sie in den folgenden Referenzen.
ActivityOptions.makeRemoteAnimation
RemoteAnimationAdapter
RemoteAnimationRunner
Activity.registerRemoteAnimations
Eine Referenzimplementierung für die Startanimation von Benachrichtigungen finden Sie unter ActivityLaunchAnimator.kt
.
Implementierung
Sie können diese Funktion nach Bedarf in Launcher/System-UI implementieren oder die AOSP-Implementierung in SystemUI/Launcher3 verwenden.
Zertifizierungsstufe
Um die Leistung der Animationen zu validieren, messen Sie die Leistung der steuernden App (SystemUI oder Launcher) während der Animationen, wie unter UI-Leistung testen beschrieben.