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

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

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

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

  • ऐप्लिकेशन के 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 Memory Tagging Extension (MTE) के साथ काम करते हैं.

NATIVE_MEMTAG_SYNC

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

इस प्रोसेस में, सिंक्रोनस (SYNC) मेमोरी टैग की जांच करने की सुविधा चालू करता है. इस फ़्लैग का असर सिर्फ़ उन हार्डवेयर पर पड़ता है जो ARM Memory Tagging Extension (MTE) के साथ काम करते हैं. अगर 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 (एपीआई लेवल 36) या इसके बाद के वर्शन को टारगेट करते हैं.

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

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

UNIVERSAL_RESIZABLE_BY_DEFAULT

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

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

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

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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