सिंक्रनाइज़्ड ऐप्लिकेशन ट्रांज़िशन, Android 9 में मौजूद एक सुविधा है. यह ऐप्लिकेशन ट्रांज़िशन के मौजूदा आर्किटेक्चर को बेहतर बनाती है. जब कोई उपयोगकर्ता ऐप्लिकेशन खोलता है, बंद करता है या उनके बीच स्विच करता है, तो SystemUI या लॉन्चर (होमस्क्रीन) प्रोसेस, ऐनिमेशन को फ़्रेम-बाय-फ़्रेम कंट्रोल करने का अनुरोध भेजती है. इससे व्यू ऐनिमेशन और विंडो ऐनिमेशन के बीच सिंक्रनाइज़ेशन की गारंटी मिलती है. जब SystemUI या लॉन्चर, ऐनिमेशन के हिस्से के तौर पर नया फ़्रेम बनाता है, तो यह ऐनिमेट किए जा रहे ऐप्लिकेशन की सतह पर अलग ट्रांसफ़ॉर्म का अनुरोध करता है. इससे यह तय होता है कि ऐप्लिकेशन को स्क्रीन पर कैसे कंपोज़ किया जाता है. साथ ही, यह अनुरोध को एक सर्फ़ेस ट्रांज़ैक्शन के तौर पर मार्क करता है, ताकि इसे फ़्रेम के साथ सिंक किया जा सके.
इससे ऐप्लिकेशन के ट्रांज़िशन के लिए नए ऐनिमेशन इस्तेमाल किए जा सकते हैं. ऐसा Android 8.x और इससे पहले के वर्शन पर नहीं किया जा सकता. उदाहरण के लिए, ऐप्लिकेशन लॉन्च करने वाला ऐनिमेशन, होमस्क्रीन के आइकॉन को ऐप्लिकेशन की स्क्रीन पर आसानी से बदल सकता है. वहीं, सूचना लॉन्च करने वाला ऐनिमेशन, सूचनाओं को ऐप्लिकेशन की स्क्रीन पर बदल सकता है.
उदाहरण और सोर्स
इस सुविधा के बारे में जानने के लिए, यहां दिए गए लिंक देखें.
ActivityOptions.makeRemoteAnimation
RemoteAnimationAdapter
RemoteAnimationRunner
Activity.registerRemoteAnimations
सूचना लॉन्च करने के ऐनिमेशन के रेफ़रंस को लागू करने के लिए, ActivityLaunchAnimator.kt
देखें.
लागू करना
इस सुविधा को Launcher/System UI पर अपनी ज़रूरत के हिसाब से लागू किया जा सकता है. इसके अलावा, SystemUI/Launcher3 में AOSP के लागू किए गए वर्शन का इस्तेमाल किया जा सकता है.
Validation
ऐनिमेशन की परफ़ॉर्मेंस की पुष्टि करने के लिए, ऐनिमेशन के दौरान कंट्रोल करने वाले ऐप्लिकेशन, जैसे कि SystemUI या Launcher की परफ़ॉर्मेंस को मेज़र करें. इसके बारे में यूज़र इंटरफ़ेस (यूआई) की परफ़ॉर्मेंस की जांच करना लेख में बताया गया है.