Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Synchronisierte App-Übergänge sind 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 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.
So 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 übertragen und die Benachrichtigungsstartanimation Benachrichtigungen in die App-Oberfläche übertragen.
Beispiele und Quelle
Weitere Informationen zu dieser Funktion finden Sie in den folgenden Referenzen.
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 validieren, messen Sie die Leistung der steuernden App, also der SystemUI oder des Launchers, während der Animationen wie unter UI-Leistung testen beschrieben.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Implement synchronized app transitions\n\nSynchronized App Transitions is a feature in Android 9\nthat enhances the existing app transition architecture. When a user opens,\ncloses, or switches between apps, the SystemUI or Launcher (homescreen) process\nsends a request to control the animation frame-by-frame with guaranteed\nsynchronization between view animations and window animations. When the SystemUI\nor Launcher draws a new frame as part of an animation, it requests a different\ntransform on the animating app surface that determines how the app is composed\non the screen, and marks the request, a surface transaction, to be synchronized\nwith the frame it's currently drawing.\n\nThis allows for new app transition animations that are not possible on Android\n8.x and lower. For example, the\n[app launch animation](/static/docs/core/display/images/app-launch-animation.mp4)\ncan transform homescreen icons seamlessly into the app surface and the\n[notification launch animation](/static/docs/core/display/images/notification-launch-animation.mp4)\ncan transform notifications into the app surface.\n\nExamples and source\n-------------------\n\nSee the following references for this feature.\n\n- [`ActivityOptions.makeRemoteAnimation`](https://android.googlesource.com/platform/frameworks/base/+/33a701a55c28dd20390acee1ba7881a500830d7d/core/java/android/app/ActivityOptions.java#843)\n- [`RemoteAnimationAdapter`](https://android.googlesource.com/platform/frameworks/base/+/android16-release/core/java/android/view/RemoteAnimationAdapter.java)\n- [`RemoteAnimationRunner`](https://android.googlesource.com/platform/frameworks/base/+/android16-release/core/java/android/view/IRemoteAnimationRunner.aidl)\n- [`Activity.registerRemoteAnimations`](https://android.googlesource.com/platform/frameworks/base/+/f84e2f60fec6f6d2ecfb3b90ddf075101f4b902f/core/java/android/app/Activity.java#7672)\n\nFor a reference implementation for the notification launch animation, see\n[`ActivityLaunchAnimator.kt`](https://android.googlesource.com/platform/frameworks/base/+/android16-release/packages/SystemUI/animation/src/com/android/systemui/animation/ActivityLaunchAnimator.kt).\n\nImplementation\n--------------\n\nYou can implement this feature on Launcher/System UI as required or you can use\nthe AOSP implementation in SystemUI/Launcher3.\n| **Note:** This feature increases the load on the GPU and CPU during animations.\n\nValidation\n----------\n\nTo validate the performance of the animations, measure the performance of the\ncontrolling app, i.e. SystemUI or Launcher, during the animations as described\nin\n[Test UI performance](https://developer.android.com/training/testing/performance)."]]