Прекращение поддержки

С каждым релизом некоторые API Android могут устаревать или нуждаться в рефакторинге для улучшения пользовательского опыта разработчиков или поддержки новых возможностей платформы. В таких случаях Android официально объявляет устаревшие API устаревшими и направляет разработчиков к использованию новых API.

«Устаревание» означает, что мы прекратили официальную поддержку этих API, но они по-прежнему будут доступны разработчикам. На этой странице представлены некоторые устаревшие функции в этом выпуске Android. Чтобы увидеть другие устаревшие функции, обратитесь к отчету о различиях API .

RenderScript

Начиная с Android 12, API RenderScript устарели. Они продолжат функционировать, но мы ожидаем, что производители устройств и компонентов со временем перестанут поддерживать аппаратное ускорение. Чтобы в полной мере воспользоваться преимуществами ускорения GPU, мы рекомендуем отказаться от RenderScript .

Плейлисты Android

Функция создания плейлистов в Android устарела. API больше не поддерживается, но текущая функциональность сохраняется для обеспечения совместимости.

Мы рекомендуем читать и сохранять плейлисты в формате m3u .

Отображение устаревших функций API

Android devices are becoming available in many different form factors, such as large screens, tablets, and foldables. In order to render content appropriately for each device, your app needs to determine the screen or display size. Over time Android provided different APIs for retrieving this information. In Android 11 we introduced the WindowMetrics API and deprecated these methods:

В Android 12 мы по-прежнему рекомендуем использовать WindowMetrics и объявляем следующие методы устаревшими:

Приложениям следует использовать API WindowMetrics для запроса границ окна или Configuration.densityDpi для запроса текущей плотности.

Обратите внимание, что библиотека Jetpack WindowManager включает класс WindowMetrics , поддерживающий Android 4.0.1 (уровень API 14) и выше.

Примеры

Вот несколько примеров использования WindowMetrics .

Во-первых, убедитесь, что ваше приложение позволяет изменять размер своих элементов интерфейса до максимального значения .

Для любой работы, связанной с пользовательским интерфейсом, активность должна использовать WindowMetrics из контекста активности, в частности, WindowManager.getCurrentWindowMetrics() .

Если ваше приложение создает MediaProjection , его границы должны быть правильно заданы, поскольку проекция захватывает изображение. Если приложение полностью изменяет размер, контекст активности возвращает правильные границы.

Котлин

val projectionMetrics = activityContext
        .getSystemService(WindowManager::class.java).maximumWindowMetrics

Java

WindowMetrics projectionMetrics = activityContext
        .getSystemService(WindowManager.class).getMaximumWindowMetrics();

Если приложение не может полностью изменять размер окна, оно должно запросить границы окна из экземпляра WindowContext и получить WindowMetrics максимальной доступной области отображения с помощью метода WindowManager.getMaximumWindowMetrics()

Котлин

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();