קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
'מעבר משולב בין אפליקציות' היא תכונה ב-Android 9 שמשתפרת את הארכיטקטורה הקיימת של המעבר בין אפליקציות. כשמשתמש פותח, סוגר או עובר בין אפליקציות, התהליך של SystemUI או של Launcher (מסך הבית) שולח בקשה לשלוט באנימציה פריים אחרי פריים, עם סנכרון מובטח בין אנימציות התצוגה לבין אנימציות החלון. כשמערכת SystemUI או Launcher מציירים פריים חדש כחלק מאנימציה, הם מבקשים טרנספורמציה שונה על פני האפליקציה שמציגה את האנימציה, שמגדירה את אופן הרכבת האפליקציה במסך, ומסמנים את הבקשה, עסקה של פני השטח, כדי שתתבצע סנכרון עם הפריים שהוא מצייר כרגע.
כך אפשר להשתמש באנימציות חדשות של מעברים בין אפליקציות שלא זמינות ב-Android 8.x וגרסאות קודמות. לדוגמה, אנימציית ההפעלה של האפליקציה יכולה להפוך את הסמלים במסך הבית למשטח האפליקציה בצורה חלקה, ואנימציית ההפעלה של ההתראות יכולה להפוך את ההתראות למשטח האפליקציה.
דוגמאות ומקור
למידע נוסף על התכונה הזו, אפשר לעיין במאמרים הבאים.
אפשר להטמיע את התכונה הזו ב-Launcher/System UI לפי הצורך, או להשתמש בהטמעה של AOSP ב-SystemUI/Launcher3.
אימות
כדי לאמת את הביצועים של האנימציות, מודדים את הביצועים של האפליקציה השולטת, כלומר SystemUI או Launcher, במהלך האנימציות, כפי שמתואר בקטע בדיקת הביצועים של ממשק המשתמש.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 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)."]]