Wycofane

Z każdą kolejną wersją niektóre interfejsy API Androida mogą stać się przestarzałe lub wymagać refaktoryzacji, aby zapewnić deweloperom większy komfort pracy lub obsługiwać nowe funkcje platformy. W takich przypadkach Android oficjalnie wycofa przestarzałe interfejsy API i skieruje deweloperów do nowych interfejsów API, których mogą używać w zamian.

Wycofanie oznacza, że zakończyliśmy oficjalne wsparcie dla danych interfejsów API, ale nadal będą one dostępne dla deweloperów. Na tej stronie znajdziesz informacje o niektórych funkcjach, które zostały wycofane w tej wersji Androida. Aby zobaczyć inne wycofania, zapoznaj się z raportem różnic w interfejsie API.

RenderScript

Od Androida 12 interfejsy RenderScript API są wycofywane. Nadal będą działać, ale spodziewamy się, że producenci urządzeń i komponentów z czasem przestaną zapewniać obsługę akceleracji sprzętowej. Aby w pełni wykorzystać akcelerację GPU, zalecamy przejście z RenderScript.

Playlisty Androida

Playlisty Androida są wycofywane. Interfejs API nie jest już utrzymywany, ale obecna funkcjonalność pozostaje zachowana ze względu na zgodność.

Zalecamy odczytywanie i zapisywanie playlist jako plików m3u.

Wycofanie interfejsu Display API

Urządzenia z Androidem są dostępne w wielu różnych formatach, takich jak duże ekrany, tablety i urządzenia składane. Aby prawidłowo renderować treści na każdym urządzeniu, aplikacja musi określić rozmiar ekranu lub wyświetlacza. Z biegiem czasu Android udostępniał różne interfejsy API do pobierania tych informacji. W Androidzie 11 wprowadziliśmy interfejs WindowMetrics API i wycofaliśmy te metody:

W Androidzie 12 nadal zalecamy używanie interfejsu WindowMetrics API i wycofujemy te metody:

Aplikacje powinny używać interfejsów WindowMetrics API do wysyłania zapytań o granice okna lub Configuration.densityDpi do wysyłania zapytań o bieżącą gęstość.

Pamiętaj, że biblioteka Jetpack WindowManager zawiera klasę WindowMetrics , która obsługuje Androida 4.0.1 (poziom API 14) i nowsze wersje.

Przykłady

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

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

W przypadku wszystkich zadań związanych z interfejsem użytkownika, a w szczególności WindowManager.getCurrentWindowMetrics(), aktywność powinna korzystać z interfejsu WindowMetrics API z kontekstu aktywności.

Jeśli aplikacja tworzy MediaProjection, granice muszą mieć prawidłowy rozmiar, ponieważ projekcja przechwytuje wyświetlacz. Jeśli rozmiar aplikacji można w pełni zmieniać, 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 rozmiar aplikacji nie może być w pełni zmieniany, musi ona wysyłać zapytania o granice z instancji WindowContext i pobierać interfejs WindowMetrics API maksymalnego obszaru wyświetlania dostępnego dla aplikacji za pomocą 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();