हर रिलीज़ के साथ, कुछ खास Android API पुराने हो सकते हैं या उन्हें बेहतर बनाने की ज़रूरत पड़ सकती है. ऐसा डेवलपर को बेहतर अनुभव देने या प्लैटफ़ॉर्म की नई क्षमताओं को बढ़ावा देने के लिए करना होगा. इन मामलों में Android, पुराने एपीआई को आधिकारिक तौर पर बंद कर देगा. साथ ही, डेवलपर को उनके बजाय नए एपीआई पर ले जाएगा, ताकि वे इसका इस्तेमाल कर सकें.
बंद होने का मतलब है कि हमने एपीआई के लिए आधिकारिक सहायता बंद कर दी है. हालांकि, ये डेवलपर के लिए उपलब्ध रहेंगे. इस पेज पर बताया गया है कि Android की इस रिलीज़ में क्या सुविधाएं काम करती हैं. अन्य सुविधाओं के इस्तेमाल पर रोक लगाने के बारे में जानने के लिए, एपीआई में अंतर की रिपोर्ट देखें.
रेंडर स्क्रिप्ट
Android 12 और इसके बाद के वर्शन में, RenderScript एपीआई बंद कर दिए गए हैं. वे काम करते रहेंगे, लेकिन हमें उम्मीद है कि डिवाइस और कॉम्पोनेंट के मैन्युफ़ैक्चरर, समय के साथ हार्डवेयर से तेज़ी लाने के लिए सहायता देना बंद कर देंगे. हमारा सुझाव है कि GPU ऐक्सेलरेशन का पूरा फ़ायदा पाने के लिए, RenderScript से माइग्रेट करें.
Android प्लेलिस्ट
Android प्लेलिस्ट अब काम नहीं करेंगी. एपीआई को अब मैनेज नहीं किया जा रहा है. हालांकि, पुराने सिस्टम के साथ काम करने के लिए, मौजूदा सुविधाएं उपलब्ध रहेंगी.
हमारा सुझाव है कि प्लेलिस्ट को m3u फ़ाइलों के तौर पर पढ़ें और सेव करें.
Display API के बंद होने की जानकारी
Android डिवाइस कई तरह के नाप या आकार में उपलब्ध हो रहे हैं, जैसे कि बड़ी स्क्रीन, टैबलेट, और फ़ोल्ड किए जा सकने वाले डिवाइस. हर डिवाइस के हिसाब से कॉन्टेंट रेंडर करने के लिए, आपके ऐप्लिकेशन को स्क्रीन या डिसप्ले का साइज़ तय करना होगा. समय के साथ, Android ने इस जानकारी को वापस पाने के लिए अलग-अलग एपीआई उपलब्ध कराए. हमने Android 11 में WindowMetrics
एपीआई लॉन्च किया था और इन तरीकों को बंद कर दिया है:
हमारा सुझाव है कि Android 12 में भी WindowMetrics
का इस्तेमाल किया जाए. साथ ही, हम इन तरीकों को बंद कर रहे हैं:
ऐप्लिकेशन को अपनी विंडो की सीमाओं के बारे में क्वेरी करने के लिए, WindowMetrics
API का इस्तेमाल करना चाहिए या मौजूदा डेंसिटी के बारे में क्वेरी करने के लिए Configuration.densityDpi
का इस्तेमाल करना चाहिए.
ध्यान दें कि Jetpack WindowManager
लाइब्रेरी में WindowMetrics
क्लास शामिल है, जो Android 4.0.1 (एपीआई लेवल 14) और इसके बाद वाले वर्शन पर काम करती है.
उदाहरण
WindowMetrics
का इस्तेमाल करने के कुछ उदाहरण यहां दिए गए हैं.
सबसे पहले, पक्का करें कि आपका ऐप्लिकेशन अपनी गतिविधियों को पूरी तरह से रीसाइज़ कर सकता हो.
कोई भी गतिविधि, यूज़र इंटरफ़ेस (यूआई) से जुड़े किसी भी काम के लिए गतिविधि के संदर्भ में मौजूद WindowMetrics
पर निर्भर होनी चाहिए, खास तौर पर WindowManager.getCurrentWindowMetrics()
.
अगर आपका ऐप्लिकेशन MediaProjection
बनाता है, तो बाउंड का साइज़ सही होना चाहिए, क्योंकि प्रोजेक्शन डिसप्ले को कैप्चर करता है. अगर ऐप्लिकेशन का साइज़ पूरी तरह से बदला जा सकता है, तो ऐक्टिविटी कॉन्टेक्स्ट सही बाउंड दिखाता है.
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
Java
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
अगर ऐप्लिकेशन का साइज़ पूरी तरह से नहीं बदला जा सकता, तो उसे WindowContext
इंस्टेंस से सीमाओं के बारे में क्वेरी करनी होगी. साथ ही, WindowManager.getMaximumWindowMetrics()
का इस्तेमाल करके, ऐप्लिकेशन के लिए उपलब्ध सबसे ज़्यादा डिसप्ले एरिया की WindowMetrics को वापस लाना होगा
Kotlin
val windowContext = context.createWindowContext(mContext.display!!, WindowManager.LayoutParams.TYPE_APPLICATION, null) val projectionMetrics = windowContext.getSystemService(WindowManager::class.java) .maximumWindowMetrics
Java
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), WindowManager.LayoutParams.TYPE_APPLICATION, null; WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();