Synchronisierte App-Übergänge sind eine Funktion in Android 9, mit der die vorhandene Architektur für die App-Umstellung verbessert wird. Wenn ein Nutzer Apps öffnet, schließt oder zwischen ihnen wechselt, sendet der SystemUI- oder Launcher-Prozess (Startbildschirm) eine Anfrage, um die Animation Frame für Frame zu steuern, wobei die Synchronisierung zwischen Ansichts- und Fensteranimationen garantiert ist. Wenn die SystemUI oder der Launcher einen neuen Frame als Teil einer Animation zeichnet, wird eine andere Transformation für die animierte App-Oberfläche angefordert, die bestimmt, wie die App auf dem Bildschirm dargestellt wird. Die Anfrage, eine Oberflächentransaktion, wird dann so markiert, dass sie mit dem Frame synchronisiert wird, der gerade gezeichnet wird.
Dies ermöglicht neue App-Übergangsanimationen, die unter Android 8.x und niedriger nicht möglich sind. So kann beispielsweise die App-Startanimation Startbildschirmsymbole nahtlos in die App-Oberfläche übertragen und die Benachrichtigungsstartanimation Benachrichtigungen in die App-Oberfläche einblenden.
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 Startanimation der Benachrichtigung finden Sie unter ActivityLaunchAnimator.kt
.
Implementierung
Sie können diese Funktion bei Bedarf im Launcher/System-UI implementieren oder die AOSP-Implementierung in SystemUI/Launcher3 verwenden.
Zertifizierungsstufe
Um die Leistung der Animationen zu prüfen, messen Sie die Leistung der steuernden App, also der SystemUI oder des Launchers, während der Animationen wie unter UI-Leistung testen beschrieben.