با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
با هر انتشار، API های خاص Android ممکن است منسوخ شوند یا برای ارائه یک تجربه توسعه دهنده بهتر یا پشتیبانی از قابلیت های پلتفرم جدید، نیاز به بازسازی مجدد داشته باشند. در این موارد، اندروید رسماً API های منسوخ شده را منسوخ می کند و توسعه دهندگان را به API های جدید هدایت می کند تا به جای آن از آنها استفاده کنند.
منسوخ شدن به این معنی است که ما به پشتیبانی رسمی از API ها پایان داده ایم، اما آنها همچنان در دسترس توسعه دهندگان خواهند بود. این صفحه برخی از موارد منسوخ شده در این نسخه از اندروید را برجسته می کند. برای مشاهده سایر موارد منسوخ، به گزارش تفاوت API مراجعه کنید.
RenderScript
با شروع Android 12، API های RenderScript منسوخ شده اند. آنها به کار خود ادامه خواهند داد، اما ما انتظار داریم که سازندگان دستگاه و قطعات به مرور زمان پشتیبانی از شتاب سخت افزاری را متوقف کنند. برای استفاده کامل از شتاب GPU، توصیه میکنیم از RenderScript خارج شوید .
لیست های پخش اندروید
لیست های پخش اندروید منسوخ شده است. API دیگر حفظ نمی شود اما عملکرد فعلی برای سازگاری باقی می ماند.
توصیه می کنیم لیست های پخش را به عنوان فایل های m3u بخوانید و ذخیره کنید.
نمایش حذف API
دستگاههای اندرویدی به شکلهای مختلفی در دسترس هستند، مانند صفحهنمایش بزرگ، تبلت و تاشو. به منظور ارائه محتوا به طور مناسب برای هر دستگاه، برنامه شما باید اندازه صفحه یا نمایشگر را تعیین کند. با گذشت زمان اندروید API های مختلفی برای بازیابی این اطلاعات ارائه کرد. در اندروید 11 ما WindowMetrics API را معرفی کردیم و این روش ها را منسوخ کردیم:
اگر برنامه شما MediaProjection ایجاد میکند، کرانها باید بهدرستی اندازهبندی شوند، زیرا پروژکتور نمایشگر را میگیرد. اگر برنامه به طور کامل قابل تغییر اندازه باشد، زمینه فعالیت محدوده های صحیح را برمی گرداند.
اگر برنامه به طور کامل قابل تغییر اندازه نیست، باید کران ها را از یک نمونه WindowContext جستجو کند و WindowMetrics حداکثر ناحیه نمایش موجود برای برنامه را با استفاده از WindowManager.getMaximumWindowMetrics() بازیابی کند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-21 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Deprecations\n\nWith each release, specific Android APIs may become obsolete or need to be\nrefactored to provide a better developer experience or support new platform\ncapabilities. In these cases, Android will officially deprecate the obsolete\nAPIs and direct developers to new APIs to use instead.\n\nDeprecation means that we've ended official support for the APIs, but they will\ncontinue to remain available to developers. This page highlights some of the\ndeprecations in this release of Android. To see other deprecations, refer to the\n[API diff report](/sdk/api_diff/31/changes).\n\nRenderScript\n------------\n\nStarting with Android 12, the RenderScript APIs are deprecated. They will\ncontinue to function, but we expect that device and component manufacturers will\nstop providing hardware acceleration support over time. To take full advantage\nof GPU acceleration, we recommend [migrating away from RenderScript](/guide/topics/renderscript/migrate).\n\nAndroid playlists\n-----------------\n\nAndroid [playlists](/reference/android/provider/MediaStore.Audio.Playlists) are\ndeprecated. The API is no longer maintained but the current functionality\nremains for compatibility.\n\nWe recommend reading and saving playlists as [m3u](https://en.wikipedia.org/wiki/M3U)\nfiles.\n\nDisplay API deprecations\n------------------------\n\nAndroid devices are becoming available in many different form factors, such as\nlarge screens, tablets, and foldables. In order to render content appropriately\nfor each device, your app needs to determine the screen or display size. Over\ntime Android provided different APIs for retrieving this information. In\nAndroid 11 we introduced the\n[`WindowMetrics`](/reference/android/view/WindowMetrics) API and deprecated\nthese methods:\n\n- [`Display.getSize()`](/reference/android/view/Display#getSize(android.graphics.Point))\n- [`Display.getMetrics()`](/reference/android/view/Display#getMetrics(android.util.DisplayMetrics))\n\nIn Android 12 we continue to recommend using `WindowMetrics`\nand are deprecating these methods:\n\n- [`Display.getRealSize()`](/reference/android/view/Display#getRealSize(android.graphics.Point))\n- [`Display.getRealMetrics()`](/reference/android/view/Display#getRealMetrics(android.util.DisplayMetrics))\n\nApps should use the `WindowMetrics` APIs to query the bounds of their window, or\n[`Configuration.densityDpi`](/reference/android/content/res/Configuration#densityDpi)\nto query the current density.\n\nNote that the Jetpack [`WindowManager`](/jetpack/androidx/releases/window)\nlibrary includes a [`WindowMetrics`](/reference/androidx/window/layout/WindowMetrics)\nclass that supports Android 4.0.1 (API level 14) and higher.\n\n#### Examples\n\nHere are some examples how to use `WindowMetrics`.\n\nFirst, be sure your app can make its activities\n[fully resizable](https://developer.android.com/guide/topics/ui/multi-window).\n\nAn activity should rely upon `WindowMetrics` from an activity context for\nany UI-related work, particularly\n[`WindowManager.getCurrentWindowMetrics()`](/reference/android/view/WindowManager#getCurrentWindowMetrics()).\n\nIf your app creates a `MediaProjection`, the bounds must be correctly sized\nsince the projection captures the display. If the app is fully resizable, the\nactivity context returns the correct bounds. \n\n### Kotlin\n\n```kotlin\nval projectionMetrics = activityContext\n .getSystemService(WindowManager::class.java).maximumWindowMetrics\n```\n\n### Java\n\n```java\nWindowMetrics projectionMetrics = activityContext\n .getSystemService(WindowManager.class).getMaximumWindowMetrics();\n```\n\nIf the app is not fully resizable, it must query the bounds from a\n`WindowContext` instance, and retrieve the WindowMetrics of the maximum display\narea available to the application using\n[`WindowManager.getMaximumWindowMetrics()`](/reference/android/view/WindowManager#getMaximumWindowMetrics()) \n\n### Kotlin\n\n```kotlin\nval windowContext = context.createWindowContext(mContext.display!!,\n WindowManager.LayoutParams.TYPE_APPLICATION, null)\nval projectionMetrics = windowContext.getSystemService(WindowManager::class.java)\n .maximumWindowMetrics\n```\n\n### Java\n\n```java\nContext windowContext = mContext.createWindowContext(mContext.getDisplay(),\n WindowManager.LayoutParams.TYPE_APPLICATION, null;\nWindowMetrics projectionMetrics = windowContext.getWindowManager()\n .getMaximumWindowMetrics();\n```\n| **Note:** Any library that uses `MediaProjection` should follow this advice as well and query the appropriate `WindowMetrics` for the app window."]]