اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release بدلاً من aosp-main لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
"عمليات انتقال التطبيقات المتزامنة" هي ميزة في Android 9
تُحسِّن بنية انتقال التطبيقات الحالية. عندما يفتح المستخدم التطبيقات أو
يغلقها أو يتبدّل بينها، تُرسِل عملية SystemUI أو Launcher (الشاشة الرئيسية)
طلبًا للتحكّم في الصورة المتحركة كلّ إطار على حدة مع ضمان
مزامنة بين الصور المتحركة للعرض والصور المتحركة للنوافذ. عندما يرسم SystemUI
أو مشغّل التطبيقات إطارًا جديدًا كجزء من صورة متحركة، يطلب تحويلًا مختلفًا
على مساحة عرض التطبيق المتحرّكة التي تحدّد كيفية عرض التطبيق
على الشاشة، ويضع علامة على الطلب، وهو معاملة مساحة عرض، ليتم مزامنته
مع الإطار الذي يتم رسمه حاليًا.
يتيح ذلك استخدام صور متحركة جديدة لنقل التطبيقات لا يمكن استخدامها على الإصدار 8.x من نظام التشغيل Android والإصدارات الأقدم. على سبيل المثال، يمكن أن يحوّل
التأثير المتحرك لتشغيل التطبيق
رموز الشاشة الرئيسية بسلاسة إلى سطح التطبيق، ويمكن أن يحوّل
التأثير المتحرك لتشغيل الإشعار
الإشعارات إلى سطح التطبيق.
للحصول على مرجع لتنفيذ الصورة المتحركة لبدء عرض الإشعار، يُرجى الاطّلاع على
ActivityLaunchAnimator.kt.
التنفيذ
يمكنك تنفيذ هذه الميزة في Launcher/System UI حسب الحاجة أو يمكنك استخدام
تنفيذ AOSP في SystemUI/Launcher3.
التحقُّق
للتحقّق من أداء الرسومات المتحرّكة، يمكنك قياس أداء
التطبيق المُشغِّل، أي SystemUI أو Launcher، أثناء عرض الرسومات المتحرّكة كما هو موضّح في
اختبار أداء واجهة المستخدم.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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)."]]