Elementy wycofane

Wraz z każdą nową wersją niektóre interfejsy API Androida mogą stać się przestarzałe lub wymagać przebudowy, aby zapewnić lepsze wrażenia deweloperom lub obsługiwać nowe funkcje platformy. W takich przypadkach Android oficjalnie wycofa przestarzałe interfejsy API i przekieruje deweloperów na nowe interfejsy API.

Wycofanie oznacza, że zakończyliśmy oficjalną obsługę tych interfejsów API, ale nadal będą one dostępne dla deweloperów. Na tej stronie przedstawiamy niektóre wycofania tej wersji Androida. Aby zobaczyć inne wycofane interfejsy API, zapoznaj się z raportami o różnicach interfejsów API.

RenderScript

Począwszy od Androida 12 interfejsy RenderScript API są wycofane. Będą one nadal działać, ale planujemy, że z czasem producenci urządzeń i komponentów przestaną obsługiwać akcelerację sprzętową. Aby w pełni korzystać z akceleracji GPU, zalecamy przejście na rezygnację z RenderScriptu.

Playlisty na Androidzie

Playlisty na Androida zostały wycofane. Interfejs API nie jest już aktualizowany, ale jego obecna funkcjonalność jest nadal dostępna ze względu na zgodność wsteczną.

Zalecamy odczytywanie i zapisywanie playlist jako plików m3u.

Wycofanie interfejsu Display API

Urządzenia z Androidem są dostępne w różnych formatach, np. jako urządzenia z dużymi ekranami, tablety i urządzenia składane. Aby prawidłowo renderować treści na poszczególnych urządzeniach, aplikacja musi określić rozmiar ekranu lub wyświetlacza. Z czasem Android udostępniał różne interfejsy API do pobierania tych informacji. W Androidzie 11 wprowadziliśmy interfejs API WindowMetrics i wycofaliśmy te metody:

W Androidzie 12 nadal zalecamy używanie WindowMetrics, a te metody są wycofywane:

Aplikacje powinny używać interfejsów API WindowMetrics, aby zapytać o granice okna, lub Configuration.densityDpi, aby zapytać o bieżącą gęstość.

Pamiętaj, że biblioteka Jetpack WindowManager zawiera klasę WindowMetrics obsługującą Androida 4.0.1 (poziom interfejsu API 14) i nowsze.

Przykłady

Oto kilka przykładów użycia atrybutu WindowMetrics.

Przede wszystkim upewnij się, że w aplikacji można w pełni zmieniać rozmiar aktywności.

Aktywność powinna korzystać z elementu WindowMetrics z kontekstu aktywności do wykonywania wszelkich działań związanych z interfejsem użytkownika, w szczególności z elementu WindowManager.getCurrentWindowMetrics().

Jeśli aplikacja tworzy MediaProjection, granice muszą być prawidłowo dopasowane, ponieważ rzutowanie przechwytuje zawartość ekranu. Jeśli można w pełni zmienić rozmiar aplikacji, kontekst aktywności zwraca prawidłowe granice.

Kotlin

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

Java

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

Jeśli aplikacji nie można w pełni zmienić, musi ona wykonać zapytanie o granice z instancji WindowContext i pobrać WindowMetrics dotyczące maksymalnego obszaru wyświetlania dostępnego dla aplikacji za pomocą funkcji WindowManager.getMaximumWindowMetrics().

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