پلتفرم Android 15 شامل تغییرات رفتاری است که ممکن است بر برنامه شما تأثیر بگذارد. تغییرات رفتاری زیر برای همه برنامهها ، بدون توجه به targetSdkVersion
، هنگام اجرا بر روی Android 15 اعمال میشود. شما باید برنامه خود را آزمایش کنید و سپس آن را در صورت لزوم تغییر دهید تا در صورت لزوم از این موارد به درستی پشتیبانی شود.
مطمئن شوید که فهرستی از تغییرات رفتاری که فقط بر برنامههایی که اندروید 15 را هدف قرار میدهند را نیز بررسی کنید.
عملکرد اصلی
اندروید 15 قابلیت های اصلی مختلف سیستم اندروید را اصلاح یا گسترش می دهد.
تغییرات در وضعیت بسته
هدف از وضعیت بسته FLAG_STOPPED
(که کاربران می توانند با فشار طولانی یک نماد برنامه و انتخاب "توقف اجباری" در ساخت های AOSP شرکت کنند) همیشه این بوده است که برنامه ها را در این حالت نگه دارد تا زمانی که کاربر به طور مستقیم برنامه را از این حالت خارج کند. راهاندازی برنامه یا تعامل غیرمستقیم با برنامه (از طریق اشتراکگذاری یا ویجت، انتخاب برنامه به عنوان تصویر زمینه زنده و غیره). در اندروید 15، رفتار سیستم را بهروزرسانی کردهایم تا با این رفتار مورد نظر هماهنگ شود. برنامه ها فقط باید از طریق اقدام مستقیم یا غیرمستقیم کاربر از حالت توقف حذف شوند.
برای پشتیبانی از رفتار در نظر گرفته شده، علاوه بر محدودیتهای موجود، هنگامی که برنامه در دستگاه دارای Android 15 به حالت توقف وارد میشود، سیستم علاوه بر محدودیتهای موجود، تمام اهداف معلق را نیز لغو میکند. هنگامی که اقدامات کاربر برنامه را از حالت توقف خارج میکند، پخش ACTION_BOOT_COMPLETED
انجام میشود. به برنامه تحویل داده می شود و فرصتی برای ثبت مجدد هرگونه نیات معلق فراهم می کند.
میتوانید متد جدید ApplicationStartInfo.wasForceStopped()
را فراخوانی کنید تا تأیید کنید که آیا برنامه در حالت توقف قرار گرفته است یا خیر.
پشتیبانی از اندازه صفحه 16 کیلوبایت
از لحاظ تاریخی، اندروید تنها از اندازه صفحات حافظه 4 کیلوبایتی پشتیبانی میکند که عملکرد حافظه سیستم را برای میانگین کل حافظهای که دستگاههای اندرویدی معمولا دارند بهینه میکند. با شروع Android 15، AOSP از دستگاه هایی پشتیبانی می کند که برای استفاده از اندازه صفحه 16 کیلوبایت (دستگاه های 16 کیلوبایت) پیکربندی شده اند. اگر برنامه شما از کتابخانه های NDK استفاده می کند، چه به طور مستقیم یا غیرمستقیم از طریق یک SDK، باید برنامه خود را بازسازی کنید تا بتواند روی این دستگاه های 16 کیلوبایتی کار کند.
از آنجایی که سازندگان دستگاهها به ساخت دستگاههایی با حافظه فیزیکی (RAM) بیشتر ادامه میدهند، بسیاری از این دستگاهها از اندازه صفحه ۱۶ کیلوبایت (و در نهایت بیشتر) برای بهینهسازی عملکرد دستگاه استفاده میکنند. افزودن پشتیبانی برای دستگاههای اندازه صفحه 16 کیلوبایت، برنامه شما را قادر میسازد تا در این دستگاهها اجرا شود و به برنامه شما کمک میکند از بهبودهای عملکرد مرتبط بهره مند شود. بدون کامپایل مجدد، برنامه ها در نسخه های بعدی اندروید روی دستگاه های 16 کیلوبایتی کار نخواهند کرد.
برای کمک به اضافه کردن پشتیبانی از برنامه خود، راهنمایی هایی در مورد نحوه بررسی اینکه آیا برنامه شما تحت تأثیر قرار گرفته است ، نحوه بازسازی برنامه خود (در صورت وجود) و نحوه آزمایش برنامه خود در یک محیط 16 کیلوبایتی با استفاده از شبیه سازها (از جمله تصاویر سیستم Android 15 برای شبیه ساز Android) را ارائه کرده ایم.
Benefits and performance gains
دستگاه هایی که با اندازه صفحه 16 کیلوبایت پیکربندی شده اند به طور متوسط کمی از حافظه بیشتری استفاده می کنند، اما بهبودهای عملکردی مختلفی را برای سیستم و برنامه ها نیز به دست می آورند:
- زمانهای راهاندازی برنامه کمتر زمانی که سیستم تحت فشار حافظه است: به طور متوسط 3.16٪ کمتر، با بهبودهای قابل توجه (تا 30٪) برای برخی از برنامههایی که آزمایش کردیم.
- کاهش مصرف انرژی در حین راه اندازی برنامه: به طور متوسط 4.56٪ کاهش
- راهاندازی سریعتر دوربین: به طور متوسط 4.48٪ سریعتر استارتهای گرم و 6.60٪ سریعتر شروع سرد.
- بهبود زمان بوت سیستم: به طور متوسط 8٪ (تقریباً 950 میلی ثانیه) بهبود یافته است.
این پیشرفتها بر اساس آزمایش اولیه ما هستند و نتایج روی دستگاههای واقعی احتمالاً متفاوت خواهد بود. در ادامه آزمایش خود، تجزیه و تحلیل بیشتری از دستاوردهای بالقوه برای برنامه ها ارائه خواهیم کرد.
Check if your app is impacted
如果您的应用使用了任何原生代码,则应重新构建应用,使其支持 16 KB 设备。如果您不确定自己的应用是否使用了原生代码,可以使用 APK 分析器来确定是否存在任何原生代码,然后检查您找到的任何共享库的 ELF 段对齐情况。Android Studio 还提供了一些功能,可帮助您自动检测对齐问题。
如果您的应用仅使用以 Java 或 Kotlin 编程语言编写的代码(包括所有库或 SDK),则该应用已支持 16 KB 设备。不过,我们建议您在 16 KB 环境中测试应用,以验证应用行为是否出现意外的回归。
تغییرات لازم برای برخی از برنامه ها برای پشتیبانی از فضای خصوصی
فضای خصوصی یک ویژگی جدید در اندروید 15 است که به کاربران اجازه میدهد فضای جداگانهای را در دستگاه خود ایجاد کنند تا بتوانند برنامههای حساس را از چشمان کنجکاو دور نگه دارند، زیر یک لایه دیگر از احراز هویت. از آنجایی که برنامههای موجود در فضای خصوصی دید محدودی دارند، برخی از انواع برنامهها باید اقدامات بیشتری را انجام دهند تا بتوانند برنامههای موجود در فضای خصوصی کاربر را ببینند و با آنها تعامل داشته باشند.
همه برنامه ها
از آنجایی که برنامههای موجود در فضای خصوصی در یک نمایه کاربر مجزا مانند نمایههای کاری نگهداری میشوند، برنامهها نباید تصور کنند که هیچ نسخهای نصبشده از برنامهشان که در نمایه اصلی نیست، در نمایه کاری است. اگر برنامه شما دارای منطق مربوط به برنامه های نمایه کاری است که این فرض را ایجاد می کند، باید این منطق را تنظیم کنید.
اپلیکیشن های پزشکی
وقتی کاربر فضای خصوصی را قفل میکند، همه برنامههای موجود در فضای خصوصی متوقف میشوند و آن برنامهها نمیتوانند فعالیتهای پیشزمینه یا پسزمینه، از جمله نمایش اعلانها را انجام دهند. این رفتار ممکن است به شدت بر استفاده و عملکرد برنامه های پزشکی نصب شده در فضای خصوصی تأثیر بگذارد.
تجربه راهاندازی فضای خصوصی به کاربران هشدار میدهد که فضای خصوصی برای برنامههایی که نیاز به انجام فعالیتهای مهم پیشزمینه یا پسزمینه، مانند نمایش اعلانهای برنامههای پزشکی دارند، مناسب نیست. با این حال، برنامهها نمیتوانند تعیین کنند که آیا در فضای خصوصی مورد استفاده قرار میگیرند یا نه، بنابراین نمیتوانند هشداری را برای این مورد به کاربر نشان دهند.
به این دلایل، اگر یک برنامه پزشکی ایجاد میکنید، بررسی کنید که این ویژگی چگونه میتواند بر برنامه شما تأثیر بگذارد و اقدامات مناسب را انجام دهید - مانند اطلاع دادن به کاربران برای عدم نصب برنامه شما در فضای خصوصی - تا از ایجاد اختلال در قابلیتهای مهم برنامه جلوگیری کنید.
برنامه های راه اندازی
اگر یک برنامه راهانداز توسعه میدهید، قبل از اینکه برنامهها در فضای خصوصی قابل مشاهده باشند، باید کارهای زیر را انجام دهید:
- برنامه شما باید به عنوان برنامه راهانداز پیشفرض برای دستگاه اختصاص داده شود، یعنی دارای نقش
ROLE_HOME
. - برنامه شما باید مجوز عادی
ACCESS_HIDDEN_PROFILES
را در فایل مانیفست برنامه شما اعلام کند.
برنامههای راهاندازی که مجوز ACCESS_HIDDEN_PROFILES
را اعلام میکنند باید موارد استفاده از فضای خصوصی زیر را کنترل کنند:
- برنامه شما باید یک محفظه راهانداز جداگانه برای برنامههای نصب شده در فضای خصوصی داشته باشد. از متد
getLauncherUserInfo()
برای تعیین نوع پروفایل کاربری استفاده کنید. - کاربر باید بتواند محفظه فضای خصوصی را پنهان و نشان دهد.
- کاربر باید بتواند محفظه فضای خصوصی را قفل و باز کند. از متد
requestQuietModeEnabled()
برای قفل کردن (با عبورtrue
) یا باز کردن (با عبورfalse
) فضای خصوصی استفاده کنید. در حالی که قفل است، هیچ برنامهای در محفظه فضای خصوصی نباید از طریق مکانیسمهایی مانند جستجو قابل مشاهده یا کشف باشد. برنامه شما باید یک گیرنده برای پخشهای
ACTION_PROFILE_AVAILABLE
وACTION_PROFILE_UNAVAILABLE
ثبت کند و در صورت تغییر وضعیت قفل یا بازشده محفظه فضای خصوصی، رابط کاربری را در برنامه شما بهروزرسانی کند. هر دوی این پخشها شاملEXTRA_USER
هستند که برنامه شما میتواند از آن برای ارجاع به کاربر نمایه خصوصی استفاده کند.همچنین می توانید از متد
isQuietModeEnabled()
برای بررسی اینکه آیا نمایه فضای خصوصی قفل شده است یا خیر استفاده کنید.
اپلیکیشن های اپ استور
فضای خصوصی شامل دکمه "نصب برنامه ها" است که قصد ضمنی نصب برنامه ها را در فضای خصوصی کاربر راه اندازی می کند. برای اینکه برنامه شما این هدف ضمنی را دریافت کند، یک <intent-filter>
را در فایل مانیفست برنامه خود با <category>
از CATEGORY_APP_MARKET
اعلام کنید.
فونت ایموجی مبتنی بر PNG حذف شد
فایل فونت emoji قدیمی مبتنی بر PNG ( NotoColorEmojiLegacy.ttf
) حذف شده است و فقط فایل مبتنی بر برداری باقی می ماند. با شروع Android 13 (سطح API 33)، فایل فونت emoji مورد استفاده توسط رندر ایموجی سیستم از یک فایل مبتنی بر PNG به یک فایل مبتنی بر برداری تغییر کرد . این سیستم فایل فونت قدیمی را در اندروید 13 و 14 به دلایل سازگاری حفظ کرد، به طوری که برنامههایی با ارائهدهنده فونت خود میتوانند به استفاده از فایل فونت قدیمی تا زمانی که قادر به ارتقا باشند ادامه دهند.
برای بررسی اینکه آیا برنامه شما تحت تأثیر قرار گرفته است، کد برنامه خود را برای ارجاع به فایل NotoColorEmojiLegacy.ttf
جستجو کنید.
میتوانید برنامه خود را به روشهای مختلفی تطبیق دهید:
- از API های پلتفرم برای رندر متن استفاده کنید. میتوانید متن را به یک
Canvas
با پشتوانه بیتمپ رندر کنید و در صورت لزوم از آن برای دریافت تصویر خام استفاده کنید. - پشتیبانی از فونت COLRv1 را به برنامه خود اضافه کنید. کتابخانه منبع باز FreeType از COLRv1 در نسخه 2.13.0 و بالاتر پشتیبانی می کند.
- بهعنوان آخرین راهحل، میتوانید فایل فونت emoji قدیمی (
NotoColorEmoji.ttf
) را در APK خود قرار دهید، اگرچه در این صورت برنامه شما آخرین بهروزرسانیهای ایموجی را از دست خواهد داد. برای اطلاعات بیشتر، به صفحه پروژه Noto Emoji GitHub مراجعه کنید.
حداقل نسخه SDK هدف از 23 به 24 افزایش یافت
اندروید 15 بر اساس تغییراتی است که در اندروید 14 ایجاد شده است و این امنیت را بیشتر گسترش می دهد. در اندروید 15، برنامه هایی با targetSdkVersion
کمتر از 24 قابل نصب نیستند. نیاز به برنامهها برای مطابقت با سطوح API مدرن به تضمین امنیت و حریم خصوصی بهتر کمک میکند.
بدافزارها اغلب سطوح پایینتر API را هدف قرار میدهند تا از حفاظتهای امنیتی و حریم خصوصی که در نسخههای اندروید بالاتر معرفی شدهاند دور بزنند. برای مثال، برخی از برنامههای بدافزار از targetSdkVersion
22 استفاده میکنند تا در معرض مدل مجوز زمان اجرا قرار نگیرند که در سال 2015 توسط Android 6.0 Marshmallow (سطح API 23) معرفی شد. این تغییر اندروید 15، جلوگیری از بهبود امنیت و حریم خصوصی را برای بدافزارها دشوارتر می کند. تلاش برای نصب برنامهای که سطح API پایینتری را هدف قرار میدهد منجر به عدم موفقیت در نصب میشود و پیامی مانند مورد زیر در Logcat ظاهر میشود:
INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 24, but found 7
در دستگاههایی که به Android 15 ارتقا مییابند، هر برنامهای با targetSdkVersion
کمتر از 24 نصب میشود.
اگر نیاز به آزمایش برنامه ای دارید که سطح API قدیمی را هدف قرار می دهد، از دستور ADB زیر استفاده کنید:
adb install --bypass-low-target-sdk-block FILENAME.apk
امنیت و حریم خصوصی
Android 15 اقدامات قوی را برای مبارزه با تقلب با رمز عبور یکبار مصرف (OTP) و محافظت از محتوای حساس کاربر، با تمرکز بر سختتر کردن سرویس شنونده اعلان و محافظتهای اشتراکگذاری صفحه نمایش، معرفی میکند. پیشرفتهای کلیدی شامل ویرایش OTPها از اعلانهای قابل دسترسی به برنامههای غیرقابل اعتماد، پنهان کردن اعلانها در حین اشتراکگذاری صفحه، و ایمن کردن فعالیتهای برنامه هنگام پست شدن OTP است. هدف این تغییرات حفظ محتوای حساس کاربر در برابر عوامل غیرمجاز است.
توسعه دهندگان برای اطمینان از سازگاری برنامه هایشان با تغییرات اندروید 15 باید از موارد زیر آگاه باشند:
ویرایش OTP
Android برنامههای غیرقابل اعتمادی که NotificationListenerService
اجرا میکنند را از خواندن محتوای ویرایش نشده از اعلانهایی که در آن OTP شناسایی شده است، متوقف میکند. برنامههای مورد اعتماد مانند انجمنهای مدیریت دستگاه همراه از این محدودیتها مستثنی هستند.
حفاظت از اشتراک گذاری صفحه نمایش
- محتوای اعلان در طول جلسات اشتراکگذاری صفحه پنهان میشود تا حریم خصوصی کاربر حفظ شود. اگر برنامه
setPublicVersion()
پیاده سازی کند، Android نسخه عمومی اعلان را نشان می دهد که به عنوان یک اعلان جایگزین در زمینه های ناامن عمل می کند. در غیر این صورت، محتوای اعلان بدون هیچ زمینه دیگری ویرایش می شود. - محتوای حساس مانند ورودی رمز عبور از بینندگان راه دور پنهان می شود تا از افشای اطلاعات حساس کاربر جلوگیری شود.
- فعالیتهای برنامههایی که در حین اشتراکگذاری صفحه نمایش، جایی که OTP شناسایی شده است، اعلان ارسال میکنند، پنهان میشوند. محتوای برنامه هنگام راه اندازی از نمایشگر راه دور پنهان می شود.
- علاوه بر شناسایی خودکار فیلدهای حساس اندروید، توسعهدهندگان میتوانند با استفاده از
setContentSensitivity
که در حین اشتراکگذاری صفحه نمایش از بینندگان راه دور پنهان میشود، بهطور دستی بخشهایی از برنامه خود را بهعنوان حساس علامتگذاری کنند. - توسعهدهندگان میتوانند گزینه غیرفعال کردن محافظتهای اشتراکگذاری صفحه را در زیر گزینههای توسعهدهنده تغییر دهند تا از محافظتهای اشتراکگذاری صفحه برای اهداف آزمایشی یا آزمایشی مستثنی شوند. ضبط کننده صفحه پیش فرض سیستم از این تغییرات مستثنی است، زیرا ضبط ها روی دستگاه باقی می مانند.
Android 15 اقدامات قوی را برای مبارزه با تقلب با رمز عبور یکبار مصرف (OTP) و محافظت از محتوای حساس کاربر، با تمرکز بر سختتر کردن سرویس شنونده اعلان و محافظتهای اشتراکگذاری صفحه نمایش، معرفی میکند. پیشرفتهای کلیدی شامل ویرایش OTPها از اعلانهای قابل دسترسی به برنامههای غیرقابل اعتماد، پنهان کردن اعلانها در حین اشتراکگذاری صفحه، و ایمن کردن فعالیتهای برنامه هنگام پست شدن OTP است. هدف این تغییرات حفظ محتوای حساس کاربر در برابر عوامل غیرمجاز است.
توسعه دهندگان برای اطمینان از سازگاری برنامه هایشان با تغییرات اندروید 15 باید از موارد زیر آگاه باشند:
ویرایش OTP
Android برنامههای غیرقابل اعتمادی که NotificationListenerService
اجرا میکنند را از خواندن محتوای ویرایش نشده از اعلانهایی که در آن OTP شناسایی شده است، متوقف میکند. برنامههای مورد اعتماد مانند انجمنهای مدیریت دستگاه همراه از این محدودیتها مستثنی هستند.
حفاظت از اشتراک گذاری صفحه نمایش
- محتوای اعلان در طول جلسات اشتراکگذاری صفحه پنهان میشود تا حریم خصوصی کاربر حفظ شود. اگر برنامه
setPublicVersion()
پیاده سازی کند، Android نسخه عمومی اعلان را نشان می دهد که به عنوان یک اعلان جایگزین در زمینه های ناامن عمل می کند. در غیر این صورت، محتوای اعلان بدون هیچ زمینه دیگری ویرایش می شود. - محتوای حساس مانند ورودی رمز عبور از بینندگان راه دور پنهان می شود تا از افشای اطلاعات حساس کاربر جلوگیری شود.
- فعالیتهای برنامههایی که در حین اشتراکگذاری صفحه نمایش، جایی که OTP شناسایی شده است، اعلان ارسال میکنند، پنهان میشوند. محتوای برنامه هنگام راه اندازی از نمایشگر راه دور پنهان می شود.
- علاوه بر شناسایی خودکار فیلدهای حساس اندروید، توسعهدهندگان میتوانند با استفاده از
setContentSensitivity
که در حین اشتراکگذاری صفحه نمایش از بینندگان راه دور پنهان میشود، بهطور دستی بخشهایی از برنامه خود را بهعنوان حساس علامتگذاری کنند. - توسعهدهندگان میتوانند گزینه غیرفعال کردن محافظتهای اشتراکگذاری صفحه را در زیر گزینههای توسعهدهنده تغییر دهند تا از محافظتهای اشتراکگذاری صفحه برای اهداف آزمایشی یا آزمایشی مستثنی شوند. ضبط کننده صفحه پیش فرض سیستم از این تغییرات مستثنی است، زیرا ضبط ها روی دستگاه باقی می مانند.
دوربین و رسانه
اندروید 15 تغییرات زیر را در رفتار دوربین و رسانه برای همه برنامه ها ایجاد می کند.
پخش مستقیم و بدون بارگیری آهنگ های صوتی که قبلاً باز شده یا مستقیماً بارگیری شده اند با رسیدن به محدودیت های منابع، باطل می شوند.
在 Android 15 之前,如果某个应用在另一个应用播放音频且达到资源限制时请求直接或分流音频播放,该应用将无法打开新的 AudioTrack
。
从 Android 15 开始,当应用请求直接播放或分流播放且达到资源限制时,系统会使任何当前打开的 AudioTrack
对象失效,以防止执行新轨道请求。
(直接音轨和分流音轨通常会打开,以播放压缩音频格式。播放直接音频的常见用例包括通过 HDMI 将编码的音频流式传输到电视。分流轨道通常用于在具有硬件 DSP 加速的移动设备上播放压缩音频。)
تجربه کاربری و رابط کاربری سیستم
اندروید 15 شامل تغییراتی است که برای ایجاد یک تجربه کاربری سازگارتر و بصری در نظر گرفته شده است.
انیمیشنهای پیشبینیکننده پشتی برای برنامههایی که شرکت کردهاند فعال شد
با شروع اندروید 15، گزینه توسعه دهنده برای انیمیشن های پیش بینی کننده پشت حذف شده است. اکنون انیمیشنهای سیستمی مانند بازگشت به خانه، تکلیف متقابل و فعالیت متقابل برای برنامههایی ظاهر میشوند که به طور کامل یا در سطح فعالیت در ژست بازگشت پیشبینیکننده شرکت کردهاند . اگر برنامه شما تحت تأثیر قرار گرفته است، اقدامات زیر را انجام دهید:
- مطمئن شوید که برنامه شما به درستی منتقل شده است تا از ژست بازگشت پیش بینی کننده استفاده کنید.
- اطمینان حاصل کنید که انتقال قطعه شما با ناوبری پیشبینی کننده به عقب کار میکند.
- از انتقال انیمیشن و فریمورک دور شوید و به جای آن از انتقال انیماتور و اندرویدکس استفاده کنید.
- از پشتههایی که
FragmentManager
از آنها اطلاعی ندارد، مهاجرت کنید. به جای آن از پشته های پشته ای استفاده کنید که توسطFragmentManager
یا مؤلفه Navigation مدیریت می شوند.
وقتی کاربر برنامهای را به اجبار متوقف میکند، ابزارکها غیرفعال میشوند
如果用户在搭载 Android 15 的设备上强制停止应用,系统会暂时停用该应用的所有微件。这些 widget 会灰显,用户无法与其互动。这是因为,从 Android 15 开始,当系统强制停止应用时,会取消应用的所有待处理 intent。
系统会在用户下次启动应用时重新启用这些微件。
如需了解详情,请参阅对软件包停止状态的更改。
تراشه نوار وضعیت نمایش رسانه به کاربران از اشتراکگذاری صفحه نمایش، ارسال محتوا و ضبط هشدار میدهد
屏幕投影漏洞会泄露用户的私密数据(例如财务信息),因为用户不知道自己的设备屏幕正在共享。
对于搭载 Android 15 QPR1 或更高版本的设备上运行的应用,系统会在状态栏中显示一个醒目的大条状标签,以提醒用户正在进行的任何屏幕投影。用户可以点按该条状标签,停止共享、投放或录制其屏幕。此外,当设备屏幕锁定时,屏幕投影会自动停止。

بررسی کنید که آیا برنامه شما تحت تأثیر قرار گرفته است
به طور پیشفرض، برنامه شما شامل تراشه نوار وضعیت است و بهطور خودکار نمایش صفحه نمایش را با فعال شدن صفحه قفل به حالت تعلیق در میآورد.
برای کسب اطلاعات بیشتر درباره نحوه آزمایش برنامه خود برای این موارد استفاده، به تراشه نوار وضعیت و توقف خودکار مراجعه کنید.
محدودیت های دسترسی به شبکه پس زمینه
در Android 15، برنامههایی که درخواست شبکه را خارج از چرخه حیات فرآیند معتبر شروع میکنند، استثنا دریافت میکنند. به طور معمول، یک UnknownHostException
یا دیگر IOException
مربوط به سوکت. درخواستهای شبکه که خارج از یک چرخه حیات معتبر اتفاق میافتند، معمولاً به این دلیل است که برنامهها ناآگاهانه درخواست شبکه را حتی پس از فعال نشدن برنامه ادامه میدهند.
برای کاهش این استثنا، اطمینان حاصل کنید که درخواستهای شبکه شما از چرخه حیات آگاه هستند و با خروج از چرخه حیات فرآیند معتبر با استفاده از مؤلفههای آگاه از چرخه حیات لغو میشوند. اگر مهم است که درخواست شبکه حتی زمانی که کاربر برنامه را ترک میکند اتفاق بیفتد، زمانبندی درخواست شبکه را با استفاده از WorkManager در نظر بگیرید یا با استفاده از خدمات پیشزمینه، یک کار قابل مشاهده توسط کاربر را ادامه دهید.
تحقیرها
با هر انتشار، APIهای خاص Android ممکن است منسوخ شوند یا برای ارائه تجربه بهتر توسعهدهنده یا پشتیبانی از قابلیتهای پلتفرم جدید نیاز به بازسازی داشته باشند. در این موارد، ما رسماً API های منسوخ شده را منسوخ می کنیم و توسعه دهندگان را به API های جایگزین هدایت می کنیم تا به جای آن از آنها استفاده کنند.
منسوخ شدن به این معنی است که ما به پشتیبانی رسمی از API ها پایان داده ایم، اما آنها همچنان در دسترس توسعه دهندگان خواهند بود. برای کسب اطلاعات بیشتر در مورد منسوخ شدن های قابل توجه در این نسخه از Android، به صفحه منسوخ شدن ها مراجعه کنید.