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.makeRemoteAnimationRemoteAnimationAdapterRemoteAnimationRunnerActivity.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.