ऐप्लिकेशन के व्यवहार में बदलाव: सभी ऐप्लिकेशन

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

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

मुख्य फ़ंक्शन

Android 15, Android सिस्टम की कई मुख्य सुविधाओं में बदलाव करता है या उन्हें बेहतर बनाता है.

पैकेज की 'बंद' स्थिति में बदलाव

软件包 FLAG_STOPPED 状态(用户可以通过在 AOSP build 中长按应用图标并选择“强制停止”来启用此状态)的用途一直是让应用保持在此状态,直到用户通过直接启动应用或间接与应用互动(通过 Sharesheet 或 widget、将应用选择为动态壁纸等)来明确将应用从此状态移除。在 Android 15 中,我们更新了系统行为,使其与此预期行为保持一致。应用应仅通过直接或间接的用户操作从停止状态移除。

为了支持预期行为,除了现有限制之外,当应用在搭载 Android 15 的设备上进入停止状态时,系统还会取消所有待处理 intent。当用户的操作将应用从停止状态移除时,系统会将 ACTION_BOOT_COMPLETED 广播传送到应用,以便应用有机会重新注册所有待处理 intent。

您可以调用新的 ApplicationStartInfo.wasForceStopped() 方法来确认应用是否已进入停止状态。

16 केबी वाले पेज साइज़ के लिए सहायता

从历史上看,Android 仅支持 4 KB 内存页面大小,这优化了系统内存性能,以适应 Android 设备通常拥有的平均总内存量。从 Android 15 开始,AOSP 支持配置为使用 16 KB 页面大小的设备(16 KB 设备)。如果您的应用直接或通过 SDK 间接使用任何 NDK 库,则需要重新构建应用,才能在这些 16 KB 设备上运行。

随着设备制造商不断制造出具有更大物理内存 (RAM) 的设备,许多此类设备将采用 16 KB(最终甚至更大)的页面大小来优化设备性能。添加对 16 KB 页面大小设备的支持,可让您的应用在这些设备上运行,并帮助您的应用受益于相关的性能改进。如果不重新编译,应用将无法在未来 Android 版本的 16 KB 设备上运行。

为帮助您为应用添加支持,我们提供了相关指南,介绍了如何检查应用是否受到影响、如何重新构建应用(如果适用),以及如何使用模拟器(包括 Android 模拟器的 Android 15 系统映像)在 16 KB 环境中测试应用

优势和性能提升

配置为使用 16 KB 页面大小的设备平均会使用略多一些的内存,但系统和应用的性能也会得到各种提升:

  • 缩短了系统内存压力时的应用启动时间:平均降低了 3.16%;对于我们测试的某些应用而言,改进幅度更大(最高可达 30%)
  • 应用启动期间的功耗降低:平均降低了 4.56%
  • 相机启动更快:热启动速度平均提高了 4.48%,冷启动速度平均提高了 6.60%
  • 缩短了系统启动时间:平均缩短了 8%(约 950 毫秒)

这些改进基于我们的初始测试,实际设备上的结果可能会有所不同。随着测试的继续进行,我们将进一步分析应用的潜在收益。

检查您的应用是否受到影响

如果您的应用使用了任何原生代码,则应重新构建应用,使其支持 16 KB 设备。如果您不确定自己的应用是否使用了原生代码,可以使用 APK 分析器来确定是否存在任何原生代码,然后检查您找到的任何共享库的 ELF 段对齐情况。Android Studio 还提供了一些功能,可帮助您自动检测对齐问题

如果您的应用仅使用以 Java 或 Kotlin 编程语言编写的代码(包括所有库或 SDK),则该应用已支持 16 KB 设备。不过,我们建议您在 16 KB 环境中测试应用,以验证应用行为是否出现意外的回归。

प्राइवेट स्पेस की सुविधा के साथ काम करने के लिए, कुछ ऐप्लिकेशन में ज़रूरी बदलाव

प्राइवेट स्पेस, Android 15 की एक नई सुविधा है. इसकी मदद से, उपयोगकर्ता अपने डिवाइस पर एक अलग स्पेस बना सकते हैं. इस स्पेस में, वे संवेदनशील ऐप्लिकेशन को छिपाकर रख सकते हैं. इसके लिए, उन्हें पुष्टि करने की एक अतिरिक्त लेयर से गुज़रना होगा. प्राइवेट स्पेस में मौजूद ऐप्लिकेशन, सभी को नहीं दिखते. इसलिए, कुछ ऐप्लिकेशन को उपयोगकर्ता के प्राइवेट स्पेस में मौजूद ऐप्लिकेशन देखने और उनसे इंटरैक्ट करने के लिए, कुछ और कार्रवाइयां करनी पड़ती हैं.

सभी ऐप्लिकेशन

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

चिकित्सा से जुड़े ऐप्लिकेशन

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

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

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

लॉन्चर ऐप्लिकेशन

अगर आपने कोई लॉन्चर ऐप्लिकेशन डेवलप किया है, तो निजी स्पेस में ऐप्लिकेशन दिखने से पहले, आपको ये काम करने होंगे:

  1. आपके ऐप्लिकेशन को डिवाइस के लिए डिफ़ॉल्ट लॉन्चर ऐप्लिकेशन के तौर पर असाइन किया जाना चाहिए. इसका मतलब है कि आपके ऐप्लिकेशन के पास ROLE_HOME भूमिका होनी चाहिए.
  2. आपके ऐप्लिकेशन को ACCESS_HIDDEN_PROFILES सामान्य अनुमति का एलान करना होगा. यह एलान, आपके ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में करना होगा.

ACCESS_HIDDEN_PROFILES अनुमति का एलान करने वाले लॉन्चर ऐप्लिकेशन को, प्राइवेट स्पेस के इस्तेमाल के इन उदाहरणों को मैनेज करना होगा:

  1. आपके ऐप्लिकेशन में, प्राइवेट स्पेस में इंस्टॉल किए गए ऐप्लिकेशन के लिए, अलग लॉन्चर कंटेनर होना चाहिए. getLauncherUserInfo() तरीके का इस्तेमाल करके, यह पता लगाएं कि किस तरह की उपयोगकर्ता प्रोफ़ाइल मैनेज की जा रही है.
  2. उपयोगकर्ता के पास प्राइवेट स्पेस कंटेनर को छिपाने और दिखाने का विकल्प होना चाहिए.
  3. उपयोगकर्ता के पास प्राइवेट स्पेस कंटेनर को लॉक और अनलॉक करने का विकल्प होना चाहिए. प्राइवेट स्पेस को लॉक करने (true पास करके) या अनलॉक करने (false पास करके) के लिए, requestQuietModeEnabled() तरीके का इस्तेमाल करें.
  4. लॉक होने पर, प्राइवेट स्पेस कंटेनर में मौजूद कोई भी ऐप्लिकेशन न दिखे या खोज जैसे तरीकों से न खोजा जा सके. आपके ऐप्लिकेशन को ACTION_PROFILE_AVAILABLE और ACTION_PROFILE_UNAVAILABLE ब्रॉडकास्ट के लिए एक रिसीवर रजिस्टर करना चाहिए. साथ ही, प्राइवेट स्पेस कंटेनर की लॉक या अनलॉक की गई स्थिति में बदलाव होने पर, अपने ऐप्लिकेशन में यूज़र इंटरफ़ेस (यूआई) को अपडेट करना चाहिए. इन दोनों ब्रॉडकास्ट में EXTRA_USER शामिल होता है. आपका ऐप्लिकेशन, निजी प्रोफ़ाइल के उपयोगकर्ता को रेफ़र करने के लिए इसका इस्तेमाल कर सकता है.

    isQuietModeEnabled() तरीके का इस्तेमाल करके भी यह देखा जा सकता है कि प्राइवेट स्पेस प्रोफ़ाइल लॉक है या नहीं.

ऐप स्टोर के ऐप्लिकेशन

प्राइवेट स्पेस में "ऐप्लिकेशन इंस्टॉल करें" बटन होता है. इस बटन पर टैप करने से, उपयोगकर्ता के प्राइवेट स्पेस में ऐप्लिकेशन इंस्टॉल करने के लिए, एक इंटेंट शुरू होता है. आपके ऐप्लिकेशन को यह इंप्लिसिट इंटेंट पाने के लिए, अपनी ऐप्लिकेशन मेनिफ़ेस्ट फ़ाइल में <intent-filter> का एलान करें. साथ ही, CATEGORY_APP_MARKET के <category> का इस्तेमाल करें.

पीएनजी पर आधारित इमोजी फ़ॉन्ट हटाया गया

लेगसी, PNG-आधारित इमोजी फ़ॉन्ट फ़ाइल (NotoColorEmojiLegacy.ttf) को हटा दिया गया है. अब सिर्फ़ वेक्टर-आधारित फ़ाइल ही उपलब्ध है. Android 13 (एपीआई लेवल 33) से, सिस्टम इमोजी रेंडरर का इस्तेमाल करने वाली इमोजी फ़ॉन्ट फ़ाइल PNG फ़ाइल से वेक्टर फ़ाइल में बदल गई. सिस्टम ने Android 13 और 14 में, काम करने की सुविधा के लिए लेगसी फ़ॉन्ट फ़ाइल को बनाए रखा, ताकि अपने फ़ॉन्ट रेंडरर वाले ऐप्लिकेशन, अपग्रेड होने तक लेगसी फ़ॉन्ट फ़ाइल का इस्तेमाल कर सकें.

यह देखने के लिए कि आपके ऐप्लिकेशन पर असर पड़ा है या नहीं, अपने ऐप्लिकेशन के कोड में NotoColorEmojiLegacy.ttf फ़ाइल के रेफ़रंस खोजें.

अपने ऐप्लिकेशन को कई तरीकों से अडैप्ट किया जा सकता है:

  • टेक्स्ट रेंडर करने के लिए, प्लैटफ़ॉर्म एपीआई का इस्तेमाल करें. टेक्स्ट को बिटमैप के साथ रेंडर किया जा सकता है Canvas और ज़रूरत पड़ने पर, रॉ इमेज पाने के लिए उसका इस्तेमाल किया जा सकता है.
  • अपने ऐप्लिकेशन में COLRv1 फ़ॉन्ट का इस्तेमाल करने की सुविधा जोड़ें. FreeType ओपन सोर्स लाइब्रेरी, 2.13.0 और उसके बाद के वर्शन में COLRv1 के साथ काम करती है.
  • आखिरी विकल्प के तौर पर, अपने APK में लेगसी इमोजी फ़ॉन्ट फ़ाइल (NotoColorEmoji.ttf) को बंडल किया जा सकता है. हालांकि, ऐसा करने पर आपके ऐप्लिकेशन में इमोजी के नए अपडेट नहीं दिखेंगे. ज़्यादा जानकारी के लिए, Noto Emoji GitHub प्रोजेक्ट का पेज देखें.

SDK टूल के टारगेट वर्शन का कम से कम लेवल 23 से बढ़ाकर 24 किया गया

Android 15, Android 15 के साथ Android 14 में किए गए बदलावों को ध्यान में रखते हुए बनाया गया है. सुरक्षा को बेहतर किया है. Android 15 में, 24 से कम targetSdkVersion वाले ऐप्लिकेशन इंस्टॉल नहीं किए जा सकते. आधुनिक एपीआई लेवल को पूरा करने के लिए ऐप्लिकेशन की ज़रूरत, बेहतर सुरक्षा और निजता.

मैलवेयर, सुरक्षा और निजता को बायपास करने के लिए, अक्सर एपीआई लेवल के निचले हिस्से को टारगेट करता है सुरक्षा से जुड़ी सुविधाएं मौजूद हैं जो Android के नए वर्शन में उपलब्ध कराई गई हैं. उदाहरण के लिए, कुछ मैलवेयर ऐप्लिकेशनtargetSdkVersion रनटाइम अनुमति मॉडल को 2015 में Android 6.0 Marshmallow (एपीआई) ने लॉन्च किया था लेवल 23). Android 15 में किए गए इस बदलाव की वजह से, मैलवेयर से सुरक्षा को रोकना मुश्किल हो गया है और निजता में सुधार किए गए हैं. कम एपीआई को टारगेट करने वाला ऐप्लिकेशन इंस्टॉल करने की कोशिश के स्तर के कारण इंस्टॉलेशन विफल हो जाता है, जिसमें ऐसा मैसेज दिखाई देता है Logcat में दिखाई दे रहा है:

INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 24, but found 7

Android 15 पर अपग्रेड करने वाले डिवाइसों पर, targetSdkVersion 24 से कम वाले सभी ऐप्लिकेशन इंस्टॉल रहेंगे.

अगर आपको पुराने एपीआई लेवल को टारगेट करने वाले किसी ऐप्लिकेशन की जांच करनी है, तो यहां दिए गए ADB का इस्तेमाल करें आदेश:

adb install --bypass-low-target-sdk-block FILENAME.apk

सुरक्षा और निजता

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

डेवलपर को इन बातों का ध्यान रखना चाहिए, ताकि यह पक्का किया जा सके कि उनके ऐप्लिकेशन, Android 15 में किए गए बदलावों के साथ काम करते हों:

ओटीपी छिपाना

Android, NotificationListenerService को लागू करने वाले गैर-भरोसेमंद ऐप्लिकेशन को, सूचनाओं में मौजूद ओटीपी को छिपाए बिना पढ़ने से रोक देगा. भरोसेमंद ऐप्लिकेशन, जैसे कि साथी डिवाइस मैनेजर असोसिएशन को इन पाबंदियों से छूट मिली है.

स्क्रीन शेयर करने की सुविधा को सुरक्षित करना

  • स्क्रीन शेयर करने के दौरान, सूचनाओं का कॉन्टेंट छिपा दिया जाता है, ताकि उपयोगकर्ता की निजता को बनाए रखा जा सके. अगर ऐप्लिकेशन में setPublicVersion() लागू किया जाता है, तो Android सूचना का सार्वजनिक वर्शन दिखाता है. यह सूचना, असुरक्षित कॉन्टेक्स्ट में सूचना की जगह काम करती है. ऐसा न होने पर, सूचना के कॉन्टेंट को बिना किसी और जानकारी के बदल दिया जाता है.
  • पासवर्ड डालने जैसा संवेदनशील कॉन्टेंट, दर्शकों से छिपाकर रखा जाता है, ताकि उपयोगकर्ता की संवेदनशील जानकारी ज़ाहिर न हो.
  • स्क्रीन शेयर करने के दौरान, जिन ऐप्लिकेशन से सूचनाएं पोस्ट की जाती हैं और जिनमें ओटीपी का पता चलता है उनकी गतिविधियां छिपी होंगी. ऐप्लिकेशन लॉन्च करने पर, उसका कॉन्टेंट रिमोट व्यूअर से छिप जाता है.
  • Android, संवेदनशील फ़ील्ड की अपने-आप पहचान करता है. इसके अलावा, डेवलपर setContentSensitivity का इस्तेमाल करके, अपने ऐप्लिकेशन के कुछ हिस्सों को मैन्युअल तौर पर संवेदनशील के तौर पर मार्क कर सकते हैं. स्क्रीन शेयर करने के दौरान, ये हिस्से रीमोट दर्शकों से छिपे रहते हैं.
  • डेवलपर, डेवलपर के लिए विकल्प में जाकर, स्क्रीन शेयर करने से जुड़ी सुरक्षा सुविधाएं बंद करें विकल्प को टॉगल कर सकते हैं. इससे, डेमो या टेस्टिंग के लिए, स्क्रीन शेयर करने से जुड़ी सुरक्षा सुविधाओं से छूट मिलती है. डिफ़ॉल्ट सिस्टम स्क्रीन रिकॉर्डर को इन बदलावों से छूट मिली है, क्योंकि रिकॉर्डिंग डिवाइस पर ही सेव रहती हैं.

कैमरा और मीडिया

Android 15, सभी ऐप्लिकेशन के लिए कैमरा और मीडिया के व्यवहार में ये बदलाव करता है.

संसाधन की सीमाएं पूरी होने पर, डायरेक्ट और ऑफ़लोड ऑडियो चलाने की सुविधा से, पहले से खुले डायरेक्ट या ऑफ़लोड ऑडियो ट्रैक अमान्य हो जाते हैं

Android 15 से पहले, अगर कोई ऐप्लिकेशन सीधे तौर पर या ऑफ़लोड करके ऑडियो चलाने का अनुरोध करता था, तो जब कोई दूसरा ऐप्लिकेशन ऑडियो चला रहा होता था और रिसॉर्स की सीमा पूरी हो जाती थी, तो वह ऐप्लिकेशन नया AudioTrack नहीं खोल पाता था.

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

(डायरेक्ट और ऑफ़लोड किए गए ऑडियो ट्रैक, आम तौर पर संपीड़ित ऑडियो फ़ॉर्मैट चलाने के लिए खोले जाते हैं. डायरेक्ट ऑडियो चलाने के सामान्य इस्तेमाल के उदाहरणों में, एचडीएमआई के ज़रिए टीवी पर एन्क्रिप्ट किए गए ऑडियो को स्ट्रीम करना शामिल है. आम तौर पर, ऑफ़लोड किए गए ट्रैक का इस्तेमाल, हार्डवेयर डीएसपी ऐक्सेलरेशन वाले मोबाइल डिवाइस पर, संकुचित किए गए ऑडियो को चलाने के लिए किया जाता है.)

लोगों का अनुभव और सिस्टम यूज़र इंटरफ़ेस (यूआई)

Android 15 में कुछ ऐसे बदलाव किए गए हैं जिनसे लोगों को ज़्यादा बेहतर और आसान अनुभव मिल सकता है.

ऑप्ट-इन करने वाले ऐप्लिकेशन के लिए, पीछे जाने पर झलक दिखाने वाला हाथ का जेस्चर ऐनिमेशन की सुविधा चालू की गई

从 Android 15 开始,预测性返回动画的开发者选项已被移除。现在,如果应用已完全或在 activity 级别选择启用预测性返回手势,则系统会为其显示“返回主屏幕”“跨任务”和“跨 activity”等系统动画。如果您的应用受到了影响,请执行以下操作:

  • 确保您的应用已正确迁移,以使用预测性返回手势。
  • 确保 fragment 转场效果可与预测性返回导航搭配使用。
  • 请弃用动画和框架过渡,改用动画和 androidx 过渡。
  • FragmentManager 不认识的返回堆栈迁移。请改用由 FragmentManager 或 Navigation 组件管理的返回堆栈。

जब कोई उपयोगकर्ता किसी ऐप्लिकेशन को फ़ोर्स-स्टॉप करता है, तो विजेट की सुविधा बंद हो जाती है

如果用户在搭载 Android 15 的设备上强制停止应用,系统会暂时停用该应用的所有微件。这些 widget 会灰显,用户无法与其互动。这是因为,从 Android 15 开始,当系统强制停止应用时,会取消应用的所有待处理 intent。

系统会在用户下次启动应用时重新启用这些微件。

如需了解详情,请参阅对软件包停止状态的更改

मीडिया प्रोजेक्शन स्टेटस बार चिप, स्क्रीन शेयर करने, कास्ट करने, और रिकॉर्ड करने के बारे में उपयोगकर्ताओं को अलर्ट करती है

屏幕投影漏洞会泄露用户的私密数据(例如财务信息),因为用户不知道自己的设备屏幕正在共享。

对于搭载 Android 15 QPR1 或更高版本的设备上运行的应用,系统会在状态栏中显示一个醒目的大条状标签,以提醒用户正在进行的任何屏幕投影。用户可以点按该条状标签,停止共享、投放或录制其屏幕。此外,当设备屏幕锁定时,屏幕投影会自动停止。

用于屏幕共享、投屏和录制的状态栏条状标签。

检查您的应用是否受到影响

默认情况下,您的应用会包含状态栏条状标签,并会在锁定屏幕激活时自动暂停屏幕投影。

如需详细了解如何针对这些用例测试应用,请参阅状态栏条状标签和自动停止

बैकग्राउंड में नेटवर्क ऐक्सेस से जुड़ी पाबंदियां

在 Android 15 中,如果应用在有效的进程生命周期之外启动网络请求,则会收到异常。通常是 UnknownHostException 或其他与套接字相关的 IOException。在有效生命周期之外发生的网络请求通常是因为应用在不再活跃后,不知不觉地继续发出网络请求。

为缓解此异常,请使用生命周期感知型组件,确保您的网络请求具有生命周期感知功能,并在离开有效的进程生命周期时取消。如果您非常重视即使用户离开应用也要发出网络请求,请考虑使用 WorkManager 调度网络请求,或使用前台服务继续执行对用户可见的任务。

Deprecations

हर रिलीज़ के साथ, Android के कुछ एपीआई पुराने हो सकते हैं या डेवलपर को बेहतर अनुभव देने या नए प्लैटफ़ॉर्म की सुविधाओं के साथ काम करने के लिए, उन्हें फिर से तैयार करना पड़ सकता है. ऐसे मामलों में, हम पुराने एपीआई को आधिकारिक तौर पर बंद कर देते हैं. साथ ही, डेवलपर को अन्य एपीआई इस्तेमाल करने का सुझाव देते हैं.

बंद करने का मतलब है कि हमने एपीआई के लिए आधिकारिक सहायता बंद कर दी है. हालांकि, डेवलपर के लिए ये एपीआई उपलब्ध रहेंगे. Android के इस वर्शन में बंद किए गए एपीआई के बारे में ज़्यादा जानने के लिए, बंद किए गए एपीआई वाला पेज देखें.