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 ihnen wechselt, sendet der SystemUI- oder Launcher-Prozess (Startbildschirm) eine Anfrage, um die Animation frame-by-frame 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 beispielsweise die App-Startanimation Startbildschirmsymbole nahtlos in die App-Oberfläche überführen und die Benachrichtigungs-Startanimation Benachrichtigungen in die App-Oberfläche überführen.
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.
Validierung
Um die Leistung der Animationen zu prüfen, messen Sie die Leistung der steuernden App (SystemUI oder Launcher) während der Animationen, wie unter UI-Leistung testen beschrieben.