সিনক্রোনাইজড অ্যাপ ট্রানজিশন হলো অ্যান্ড্রয়েড ৯-এর একটি ফিচার যা বিদ্যমান অ্যাপ ট্রানজিশন আর্কিটেকচারকে উন্নত করে। যখন কোনো ব্যবহারকারী অ্যাপ খোলে, বন্ধ করে বা অ্যাপগুলোর মধ্যে সুইচ করে, তখন সিস্টেমইউআই বা লঞ্চার (হোমস্ক্রিন) প্রসেসটি ভিউ অ্যানিমেশন এবং উইন্ডো অ্যানিমেশনের মধ্যে নিশ্চিত সিনক্রোনাইজেশন সহ ফ্রেম-বাই-ফ্রেম অ্যানিমেশন নিয়ন্ত্রণ করার জন্য একটি অনুরোধ পাঠায়। যখন সিস্টেমইউআই বা লঞ্চার কোনো অ্যানিমেশনের অংশ হিসেবে একটি নতুন ফ্রেম আঁকে, তখন এটি অ্যানিমেটিং অ্যাপ সারফেসে একটি ভিন্ন ট্রান্সফর্মের জন্য অনুরোধ করে, যা নির্ধারণ করে স্ক্রিনে অ্যাপটি কীভাবে বিন্যস্ত হবে, এবং এই অনুরোধটিকে—যা একটি সারফেস ট্রানজ্যাকশন—বর্তমানে আঁকা ফ্রেমের সাথে সিনক্রোনাইজ করার জন্য চিহ্নিত করে।
এর ফলে এমন নতুন অ্যাপ ট্রানজিশন অ্যানিমেশন যুক্ত করা যায়, যা অ্যান্ড্রয়েড ৮.x এবং এর নিচের সংস্করণগুলোতে সম্ভব নয়। উদাহরণস্বরূপ, অ্যাপ লঞ্চ অ্যানিমেশন হোমস্ক্রিনের আইকনগুলোকে নির্বিঘ্নে অ্যাপ সারফেসে রূপান্তরিত করতে পারে এবং নোটিফিকেশন লঞ্চ অ্যানিমেশন নোটিফিকেশনগুলোকে অ্যাপ সারফেসে রূপান্তরিত করতে পারে।
উদাহরণ এবং উৎস
এই বৈশিষ্ট্যটির জন্য নিম্নলিখিত তথ্যসূত্রগুলো দেখুন।
-
ActivityOptions.makeRemoteAnimation -
RemoteAnimationAdapter -
RemoteAnimationRunner -
Activity.registerRemoteAnimations
নোটিফিকেশন লঞ্চ অ্যানিমেশনের একটি রেফারেন্স ইমপ্লিমেন্টেশনের জন্য ActivityLaunchAnimator.kt দেখুন।
বাস্তবায়ন
আপনি প্রয়োজন অনুযায়ী লঞ্চার/সিস্টেম UI-তে এই ফিচারটি প্রয়োগ করতে পারেন অথবা সিস্টেম UI/লঞ্চার 3-এ AOSP ইমপ্লিমেন্টেশন ব্যবহার করতে পারেন।
বৈধতা
অ্যানিমেশনগুলোর পারফরম্যান্স যাচাই করার জন্য, ‘টেস্ট ইউআই পারফরম্যান্স’ অংশে বর্ণিত পদ্ধতি অনুযায়ী অ্যানিমেশন চলাকালীন নিয়ন্ত্রণকারী অ্যাপ, অর্থাৎ সিস্টেমইউআই বা লঞ্চারের পারফরম্যান্স পরিমাপ করুন।