कंपैटबिलिटी फ़्रेमवर्क में हुए बदलाव (Android 16)

पहली इमेज. 'डेवलपर के लिए सेटिंग और टूल' में, ऐप्लिकेशन के साथ काम करने के लिए किए गए बदलावों की स्क्रीन पर, वे बदलाव दिखते हैं जिन्हें टॉगल किया जा सकता है.

इस पेज पर, टॉगल किए जा सकने वाले उन बदलावों के बारे में बताया गया है जो Android 16 के साथ काम करने वाले फ़्रेमवर्क का हिस्सा हैं. Android 16 के साथ काम करने और उसे टारगेट करने के लिए, अपने ऐप्लिकेशन की जांच करने और उसे डीबग करने के लिए, इस सूची का इस्तेमाल डेवलपर के विकल्पों और एडीबी निर्देशों के साथ करें.

यहां कुछ ऐसी चीज़ें बताई गई हैं जिन्हें काम करने के फ़्रेमवर्क टूल का इस्तेमाल करके किया जा सकता है:

  • ऐप्लिकेशन के targetSdkVersion को बदले बिना, टारगेट किए गए बदलावों की जांच करें. टॉगल का इस्तेमाल करके, टारगेट किए गए व्यवहार में किए गए खास बदलावों को ज़बरदस्ती चालू किया जा सकता है. इससे, आपके मौजूदा ऐप्लिकेशन पर पड़ने वाले असर का आकलन किया जा सकता है.
  • अपनी जांच सिर्फ़ खास बदलावों पर फ़ोकस करें. टारगेट किए गए सभी बदलावों को एक साथ ठीक करने के बजाय, टॉगल की मदद से उन सभी बदलावों को बंद किया जा सकता है जिन्हें आपको टेस्ट करना है.
  • adb की मदद से टॉगल मैनेज करना. अपने-आप चलने वाले टेस्ट एनवायरमेंट में, टॉगल किए जा सकने वाले बदलावों को चालू और बंद करने के लिए, adb निर्देशों का इस्तेमाल किया जा सकता है.
  • स्टैंडर्ड बदलाव आईडी का इस्तेमाल करके, तेज़ी से डीबग करें. टॉगल किए जा सकने वाले बदलावों में से हर एक के पास एक यूनीक आईडी और नाम होता है. इसका इस्तेमाल, लॉग आउट में मूल समस्या को तुरंत डीबग करने के लिए किया जा सकता है.

इनमें से हर इस्तेमाल के उदाहरण के लिए, टूल इस्तेमाल करने के बारे में पूरी जानकारी पाने के लिए, काम करने के फ़्रेमवर्क के टूल देखें.

कंपैटबिलिटी फ़्रेमवर्क में शामिल, व्यवहार में हुए बदलाव

इस सेक्शन में दी गई सूची में, Android 16 से जुड़े बदलावों के लिए, काम करने के फ़्रेमवर्क में शामिल किए गए टॉगल किए जा सकने वाले बदलावों के बारे में बताया गया है. साथ ही, टॉगल किए जा सकने वाले ऐसे बदलावों के बारे में भी बताया गया है जिनसे ऐप्लिकेशन की सामान्य जांच में मदद मिल सकती है.

बदलावों की सूची को उनकी डिफ़ॉल्ट स्थिति के हिसाब से फ़िल्टर किया जा सकता है.

Android 16 में कंपैटबिलिटी फ़्रेमवर्क में टॉगल किए जा सकने वाले बदलाव

CAMERA_MIC_INDICATORS_NOT_PRESENT

बदलाव का आईडी: 162547999
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इससे पता चलता है कि यह डिवाइस, कैमरे और माइक्रोफ़ोन के इंडिकेटर के साथ काम करता है. अगर वैल्यू मौजूद है, तो यह false होती है. ऐसा इसलिए है, क्योंकि अगर बदलाव आईडी मौजूद नहीं है, तो CompatChanges#isChangeEnabled वाला तरीका true दिखाता है.

DOWNSCALED

बदलाव का आईडी: 168419799
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, हर ऐप्लिकेशन के लिए बफ़र को कम करने के सभी बदलावों को कंट्रोल करता है. इस बदलाव को चालू करने से, स्केलिंग के लिए ये फ़ैक्टर लागू किए जा सकते हैं:

जब किसी ऐप्लिकेशन पैकेज के लिए यह बदलाव चालू किया जाता है, तो ऐप्लिकेशन का साइज़, स्केलिंग फ़ैक्टर के ज़रिए तय किए गए सबसे बड़े साइज़ पर बदल जाता है. उदाहरण के लिए, अगर 80% और 70%, दोनों (DOWNSCALE_80 और DOWNSCALE_70) चालू हैं, तो 80% का इस्तेमाल किया जाएगा. जब यह बदलाव और DOWNSCALED_INVERSE, दोनों चालू हों, तो DOWNSCALED_INVERSE को प्राथमिकता दी जाती है और स्केलिंग फ़ैक्टर को उलटे क्रम में लागू किया जाता है.

DOWNSCALED_INVERSE

बदलाव आईडी: 273564678
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, हर ऐप्लिकेशन के लिए बफ़र के इनवर्स स्केलिंग में होने वाले सभी बदलावों को कंट्रोल करता है. इस बदलाव को चालू करने पर, इन स्केलिंग फ़ैक्टर को उलटे तरीके से लागू किया जा सकता है. इसका मतलब है कि रिज़ॉल्यूशन को अपस्केल किया जाएगा:

जब किसी ऐप्लिकेशन पैकेज के लिए यह बदलाव चालू किया जाता है, तो ऐप्लिकेशन का साइज़, स्केलिंग फ़ैक्टर के हिसाब से कम कर दिया जाता है. उदाहरण के लिए, अगर 80% और 70% (DOWNSCALE_80 और DOWNSCALE_70) दोनों चालू हैं, तो 80% का इस्तेमाल किया जाता है. ऐसा इसलिए, क्योंकि उलटे क्रम में लागू करने पर, 80% का स्केलिंग फ़ैक्टर 125% के बराबर होता है. यह 70% के स्केलिंग फ़ैक्टर को उलटे क्रम में लागू करने पर लागू होने वाले 142.86% स्केलिंग से कम है. जब यह बदलाव और DOWNSCALED, दोनों चालू हों, तो DOWNSCALED_INVERSE को प्राथमिकता दी जाती है और स्केलिंग फ़ैक्टर को उलटे क्रम में लागू किया जाता है.

DOWNSCALE_30

बदलाव आईडी: 189970040
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 30% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 333.33% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_35

बदलाव का आईडी: 189969749
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 35% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 285.71% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_40

बदलाव का आईडी: 189970038
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 40% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 250% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_45

बदलाव आईडी: 189969782
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 45% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 222.22% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_50

बदलाव का आईडी: 176926741
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 50% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 200% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_55

बदलाव का आईडी: 189970036
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 55% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 181.82% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_60

बदलाव का आईडी: 176926771
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 60% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 166.67% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_65

बदलाव का आईडी: 189969744
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 65% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 153.85% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_70

बदलाव का आईडी: 176926829
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 70% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 142.86% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_75

बदलाव का आईडी: 189969779
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 75% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 133.33% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_80

बदलाव का आईडी: 176926753
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 80% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 125% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_85

बदलाव का आईडी: 189969734
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 85% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए यह बदलाव चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 117.65% वाले डिसप्ले पर चल रहा है.

DOWNSCALE_90

बदलाव का आईडी: 182811243
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर DOWNSCALED भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 90% वाले डिसप्ले पर चल रहा है. अगर DOWNSCALED_INVERSE भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐप्लिकेशन को यह मानना पड़ता है कि वह असल डिसप्ले के वर्टिकल और हॉरिज़ॉन्टल रिज़ॉल्यूशन के 111.11% वाले डिसप्ले पर चल रहा है.

ENFORCE_STRICT_QUERY_BUILDER

बदलाव का आईडी: 143231523
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, SQLiteQueryBuilder सभी CalendarProvider2 क्वेरी के विकल्पों की पुष्टि करता है, ताकि वे नुकसान पहुंचाने वाले आर्ग्युमेंट से सुरक्षित रहें.

FORCE_DISABLE_HEVC_SUPPORT

बदलाव आईडी: 174227820
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

किसी ऐप्लिकेशन को HEVC मीडिया की सुविधा के साथ काम करने से ज़बरदस्ती बंद करना. ऐप्लिकेशन को अपने मेनिफ़ेस्ट में, काम करने वाले मीडिया की सुविधाओं के बारे में बताना चाहिए. हालांकि, इस फ़्लैग का इस्तेमाल करके, किसी ऐप्लिकेशन को HEVC के साथ काम न करने के लिए मजबूर किया जा सकता है. इससे, HEVC में कोड में बदले गए मीडिया को ऐक्सेस करते समय, ट्रांसकोडिंग को ज़बरदस्ती किया जा सकता है. इस फ़्लैग को सेट करने पर, ऐप्लिकेशन के लिए ओएस लेवल की डिफ़ॉल्ट सेटिंग बदल जाती है. यह डिफ़ॉल्ट रूप से बंद होता है. इसका मतलब है कि ओएस के डिफ़ॉल्ट विकल्पों को प्राथमिकता दी जाती है. अगर यह फ़्लैग और FORCE_ENABLE_HEVC_SUPPORT, दोनों चालू हैं, तो ओएस दोनों फ़्लैग को अनदेखा करता है.

FORCE_ENABLE_HEVC_SUPPORT

बदलाव का आईडी: 174228127
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

किसी ऐप्लिकेशन को HEVC मीडिया की सुविधा के साथ काम करने के लिए ज़बरदस्ती चालू करना. ऐप्लिकेशन को, अपने मेनिफ़ेस्ट में यह एलान करना चाहिए कि वे किन मीडिया फ़ॉर्मैट के साथ काम करते हैं. हालांकि, इस फ़्लैग का इस्तेमाल करके किसी ऐप्लिकेशन को HEVC के साथ काम करने के लिए ज़बरदस्ती किया जा सकता है. इससे, HEVC में एन्कोड किए गए मीडिया को ऐक्सेस करते समय ट्रांसकोडिंग से बचा जा सकता है. इस फ़्लैग को सेट करने पर, ऐप्लिकेशन के लिए ओएस लेवल की डिफ़ॉल्ट सेटिंग बदल जाती है. यह डिफ़ॉल्ट रूप से बंद होता है. इसका मतलब है कि ओएस के डिफ़ॉल्ट सेटिंग को प्राथमिकता दी जाएगी. अगर यह फ़्लैग और FORCE_DISABLE_HEVC_SUPPORT, दोनों चालू हैं, तो ओएस दोनों फ़्लैग को अनदेखा कर देता है.

FORCE_NON_RESIZE_APP

बदलाव का आईडी: 181146395
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिन पैकेज पर यह लागू होता है उनका साइज़ नहीं बदला जा सकता.

FORCE_RESIZE_APP

बदलाव आईडी: 174042936
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिन पैकेज पर इसे लागू किया जाता है उनका साइज़ बदलने की सुविधा चालू कर देता है. हम सिर्फ़ फ़ुलस्क्रीन विंडो मोड में साइज़ बदलने की अनुमति देते हैं. हालांकि, हम ऐप्लिकेशन को साइज़ बदलने की सुविधा वाले मल्टी-विंडो मोड में नहीं भेजते.

GWP_ASAN

बदलाव आईडी: 145634846
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

ऐप्लिकेशन में सैंपल की गई नेटिव मेमोरी से जुड़ी गड़बड़ी का पता लगाने की सुविधा चालू करता है.

GWP-ASan का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, GWP-ASan गाइड देखें.

NATIVE_HEAP_ZERO_INIT

बदलाव का आईडी: 178038272
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

नेटिव हीप मेमोरी के ऐलोकेशन को अपने-आप शून्य पर सेट करने की सुविधा चालू करें.

NATIVE_MEMTAG_ASYNC

बदलाव आईडी: 145772972
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस प्रोसेस में, एसिंक्रोनस (ASYNC) मेमोरी टैग की जांच करने की सुविधा चालू करें. इस फ़्लैग का असर सिर्फ़ उस हार्डवेयर पर पड़ता है जो ARM मेमोरी टैगिंग एक्सटेंशन (एमटीई) के साथ काम करता है.

NATIVE_MEMTAG_SYNC

बदलाव का आईडी: 177438394
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस प्रोसेस में, सिंक्रोनस (SYNC) मेमोरी टैग की जांच करने की सुविधा चालू करता है. इस फ़्लैग का असर सिर्फ़ उस हार्डवेयर पर पड़ता है जो ARM मेमोरी टैगिंग एक्सटेंशन (एमटीई) के साथ काम करता है. अगर NATIVE_MEMTAG_ASYNC और यह विकल्प, दोनों चालू हैं, तो इस विकल्प को प्राथमिकता दी जाती है और सिंक मोड में एमटीई चालू हो जाता है.

OVERRIDE_ANY_ORIENTATION

बदलाव का आईडी: 265464455
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस बदलाव को चालू करने पर, गतिविधि के लिए अनुरोध किए गए ओरिएंटेशन के बावजूद, ओरिएंटेशन के लिए ये बदलाव लागू किए जा सकते हैं:

OVERRIDE_ANY_ORIENTATION_TO_USER

बदलाव का आईडी: 310816437
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, SCREEN_ORIENTATION_USER चालू हो जाता है. यह गतिविधि के अनुरोध किए गए किसी भी ओरिएंटेशन को बदल देता है. फ़िक्स किए गए ओरिएंटेशन वाले ऐप्लिकेशन को, बड़ी स्क्रीन वाले डिवाइसों पर फ़ुलस्क्रीन में बदला जा सकता है. इसके लिए, ignoreOrientationRequest को चालू करना ज़रूरी है.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

बदलाव आईडी: 314961188
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, फ़िक्स्ड ओरिएंटेशन वाले ऐप्लिकेशन के लिए, फ़्री-फ़ॉर्म विंडो मोड में कैमरे के साथ काम करने की सुविधा से उन पैकेज को बाहर रखा जाता है जिन पर बदलाव लागू किया गया है.

फ़्री-फ़ॉर्म विंडो मोड में, ऐप्लिकेशन विंडो को लेटरबॉक्स करके और कैमरे की विशेषताओं को बदलकर, ऐप्लिकेशन को पोर्ट्रेट डिवाइस पर चलने की सुविधा मिलती है. ऐप्लिकेशन, पोर्ट्रेट डिवाइस पर आम तौर पर इन विशेषताओं का इस्तेमाल करते हैं: पीछे और सामने वाले कैमरे के लिए, क्रमशः 90 और 270 डिग्री सेंसर रोटेशन और डिसप्ले रोटेशन को 0 पर सेट करना.

इस फ़्लैग का इस्तेमाल करके, उन ऐप्लिकेशन के लिए, काम करने से जुड़ी समस्याओं को ठीक करने की सुविधा को बंद करें जो ठीक से काम नहीं करती हैं.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

बदलाव का आईडी: 191514214
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह बदलाव उन पैकेज पर लागू होता है जिन पर इसे लागू किया जाता है. साथ ही, android:resizeableActivity की मौजूदा वैल्यू को अनदेखा करता है. साथ ही, Android 6.0 (एपीआई लेवल 23) के बराबर या उससे कम के टारगेट SDK टूल को अनदेखा करता है और गतिविधि को रीसाइज़ न किए जाने वाले के तौर पर मानता है. इस मामले में, कैमरे के घुमाने और काटने की वैल्यू सिर्फ़ डिसप्ले के मौजूदा रोटेशन को ध्यान में रखते हुए, ज़रूरी बदलाव पर निर्भर करती है.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

बदलाव आईडी: 189229956
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह बदलाव उन पैकेज पर लागू होता है जिन पर इसे लागू किया जाता है. इससे, कैमरे के घुमाने और काटने के डिफ़ॉल्ट तरीके को बदल दिया जाता है और हमेशा CaptureRequest.SCALER_ROTATE_AND_CROP_NONE दिखता है.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

बदलाव आईडी: 316897322
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस विकल्प के चालू होने पर, उपयोगकर्ताओं को MediaProjection सेशन शुरू करते समय, किसी एक ऐप्लिकेशन या पूरी स्क्रीन को कैप्चर करने का विकल्प दिखता है. इससे, MediaProjectionConfig#createConfigForDefaultDisplay के इस्तेमाल पर असर पड़ता है.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

बदलाव का आईडी: 266124927
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिस ऐप्लिकेशन पर यह लागू होता है उसके लिए, SCREEN_ORIENTATION_REVERSE_LANDSCAPE को चालू करता है. OVERRIDE_ANY_ORIENTATION चालू होने पर, SCREEN_ORIENTATION_REVERSE_LANDSCAPE का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में लैंडस्केप ओरिएंटेशन की जानकारी दी गई हो. इस बदलाव को चालू करने से, आपको उन डिवाइसों के बीच अपने ऐप्लिकेशन के व्यवहार की जांच करने में मदद मिल सकती है जहां लैंडस्केप ओरिएंटेशन, Surface.ROTATION_90 और उन डिवाइसों के बीच Surface.ROTATION_270 से मेल खाता है.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

बदलाव आईडी: 332679525
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, डिसप्ले कटआउट मोड के व्यवहार में लेआउट बदल जाता है. यह सिर्फ़ तब लागू होगा, जब एज-टू-एज विकल्प लागू न किया गया हो.

OVERRIDE_MIN_ASPECT_RATIO

बदलाव का आईडी: 174042980
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

यह बदलाव, उन सभी बदलावों का गेटकीपर है जो किसी खास आसपेक्ट रेशियो को लागू करते हैं. इस बदलाव को चालू करने पर, ये कम से कम आसपेक्ट रेशियो लागू किए जा सकते हैं:

जब किसी ऐप्लिकेशन पैकेज के लिए यह बदलाव चालू किया जाता है, तो ऐप्लिकेशन के मेनिफ़ेस्ट में दिए गए कम से कम आसपेक्ट रेशियो को, चालू किए गए सबसे बड़े आसपेक्ट रेशियो पर बदल दिया जाता है. ऐसा तब तक किया जाता है, जब तक कि ऐप्लिकेशन के मेनिफ़ेस्ट की वैल्यू ज़्यादा न हो.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

बदलाव का आईडी: 218959984
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह पोर्ट्रेट फ़ुलस्क्रीन में आसपेक्ट रेशियो की कम से कम सीमा को बदल देता है, ताकि स्क्रीन के सभी हिस्सों का इस्तेमाल किया जा सके.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

बदलाव का आईडी: 180326787
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर OVERRIDE_MIN_ASPECT_RATIO भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, ऐक्टिविटी का कम से कम आसपेक्ट रेशियो, OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE के मुताबिक बड़ी वैल्यू पर सेट हो जाता है.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

बदलाव का आईडी: 180326845
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

अगर OVERRIDE_MIN_ASPECT_RATIO भी चालू है, तो किसी पैकेज के लिए इस बदलाव को चालू करने पर, गतिविधि का कम से कम आसपेक्ट रेशियो, OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE के मुताबिक मीडियम वैल्यू पर सेट हो जाता है.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

बदलाव आईडी: 325586858
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

चालू होने पर, यह उन बदलावों पर पाबंदी लगाता है जो तय किए गए कम से कम आसपेक्ट रेशियो को लागू करने के लिए मजबूर करते हैं. इससे, ये बदलाव सिर्फ़ तब लागू होते हैं, जब कोई ऐप्लिकेशन कैमरे से कनेक्ट हो.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

बदलाव का आईडी: 203647190
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए चालू है.

अगर OVERRIDE_MIN_ASPECT_RATIO भी चालू है, तो यह बदलाव उन सभी बदलावों को सीमित कर देता है जो किसी गतिविधि के आसपेक्ट रेशियो को किसी खास वैल्यू पर सेट करने के लिए मजबूर करते हैं. जैसे, OVERRIDE_MIN_ASPECT_RATIO_LARGE और OVERRIDE_MIN_ASPECT_RATIO_MEDIUM. ऐसा उन गतिविधियों के लिए किया जाता है जिनका ओरिएंटेशन भी पोर्ट्रेट है.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

बदलाव आईडी: 236283604
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस बदलाव को चालू करने पर, डिवाइस बनाने वाली कंपनियां, डिवाइस के ओरिएंटेशन को अनदेखा करने से जुड़ी पाबंदियां सेट कर सकती हैं. हालांकि, इन पाबंदियों में वे पैकेज शामिल नहीं होंगे जिन पर यह बदलाव लागू होता है.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

बदलाव का आईडी: 265451093
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिस ऐप्लिकेशन पर यह लागू होता है उसके लिए, SCREEN_ORIENTATION_NOSENSOR को चालू करता है. OVERRIDE_ANY_ORIENTATION के चालू होने पर भी, SCREEN_ORIENTATION_NOSENSOR का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में कोई दूसरा तय ऑरिएंटेशन न दिया गया हो.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

बदलाव आईडी: 265452344
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

जिस ऐप्लिकेशन पर यह लागू होता है उसके लिए, SCREEN_ORIENTATION_PORTRAIT को चालू करता है. OVERRIDE_ANY_ORIENTATION के चालू होने पर भी, SCREEN_ORIENTATION_PORTRAIT का इस्तेमाल सिर्फ़ तब किया जाता है, जब गतिविधि में कोई दूसरा तय ऑरिएंटेशन न दिया गया हो.

RATE_LIMIT_TOASTS

बदलाव का आईडी: 174840628
डिफ़ॉल्ट स्थिति: इस बदलाव को टॉगल नहीं किया जा सकता. इसे सिर्फ़ कंपैटबिलिटी फ़्रेमवर्क लॉग करता है.

इससे, Toast.show() कॉल की संख्या पर दर सीमित करने की सुविधा चालू होती है. इससे, उपयोगकर्ता को सीमित समय में बहुत ज़्यादा टॉस्ट दिखाने से रोका जा सकता है. अगर किसी तय समयावधि में, तय संख्या से ज़्यादा टॉस्ट दिखाने की कोशिश की जाती है, तो टॉस्ट को खारिज कर दिया जाता है.

STPE_SKIP_MULTIPLE_MISSED_PERIODIC_TASKS

बदलाव का आईडी: 288912692
डिफ़ॉल्ट स्थिति: Android 16 या इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस सुविधा के चालू होने पर, जब कोई ऐप्लिकेशन मान्य लाइफ़साइकल पर वापस आता है, तो scheduleAtFixedRate के ज़्यादा से ज़्यादा एक मिस्ड एक्सीक्यूशन तुरंत लागू हो जाता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 16 के व्यवहार में हुए बदलावों वाले पेज पर, फिक्स्ड रेट वर्क शेड्यूलिंग ऑप्टिमाइज़ेशन सेक्शन देखें.

UNIVERSAL_RESIZABLE_BY_DEFAULT

बदलाव का आईडी: 357141415
डिफ़ॉल्ट स्थिति: Android 16 या उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए चालू है.

इस विकल्प के चालू होने पर, बड़ी स्क्रीन (600 डीपी से ज़्यादा चौड़ाई वाली स्क्रीन) पर ऐप्लिकेशन के ओरिएंटेशन, साइज़ में बदलाव करने की सुविधा, और आसपेक्ट रेशियो की पाबंदियों को अनदेखा कर दिया जाता है.

इस बदलाव के बारे में ज़्यादा जानने के लिए, Android 16 के व्यवहार में हुए बदलावों वाले पेज पर, अडैप्टिव लेआउट सेक्शन देखें.

USE_EXPERIMENTAL_COMPONENT_ALIAS

बदलाव का आईडी: 196254758
डिफ़ॉल्ट स्थिति: सभी ऐप्लिकेशन के लिए बंद है.

इस विकल्प को चालू करने पर, सिस्टम "android" पैकेज को कॉम्पोनेंट के दूसरे नाम इस्तेमाल करने की अनुमति देता है.