انتقالهای همگامسازیشدهی برنامهها (Synchronized App Transitions) یکی از ویژگیهای اندروید ۹ است که معماری انتقال برنامههای موجود را بهبود میبخشد. وقتی کاربر برنامهها را باز، بسته یا بین برنامهها جابجا میشود، فرآیند SystemUI یا Launcher (صفحه اصلی) درخواستی برای کنترل انیمیشن به صورت فریم به فریم ارسال میکند که همگامسازی بین انیمیشنهای نما و انیمیشنهای پنجره را تضمین میکند. وقتی SystemUI یا Launcher یک فریم جدید را به عنوان بخشی از یک انیمیشن رسم میکند، یک تبدیل متفاوت روی سطح برنامهی متحرکسازی درخواست میکند که نحوهی ترکیب برنامه روی صفحه را تعیین میکند و درخواست، یک تراکنش سطحی، را برای همگامسازی با فریمی که در حال حاضر رسم میکند، علامتگذاری میکند.
این امکان ایجاد انیمیشنهای جدید برای انتقال برنامهها را فراهم میکند که در اندروید ۸.x و پایینتر امکانپذیر نیست. برای مثال، انیمیشن راهاندازی برنامه میتواند آیکونهای صفحه اصلی را به طور یکپارچه به سطح برنامه تبدیل کند و انیمیشن راهاندازی اعلانها میتواند اعلانها را به سطح برنامه تبدیل کند.
مثالها و منابع
برای آشنایی با این ویژگی به منابع زیر مراجعه کنید.
-
ActivityOptions.makeRemoteAnimation -
RemoteAnimationAdapter -
RemoteAnimationRunner -
Activity.registerRemoteAnimations
برای پیادهسازی مرجع برای انیمیشن راهاندازی اعلان، به ActivityLaunchAnimator.kt مراجعه کنید.
پیادهسازی
شما میتوانید این ویژگی را در صورت نیاز در Launcher/System UI پیادهسازی کنید یا میتوانید از پیادهسازی AOSP در SystemUI/Launcher3 استفاده کنید.
اعتبارسنجی
برای اعتبارسنجی عملکرد انیمیشنها، عملکرد برنامهی کنترلکننده، یعنی SystemUI یا Launcher، را در طول انیمیشنها، همانطور که در Test UI performance توضیح داده شده است، اندازهگیری کنید.