W każdej wersji określone interfejsy API Androida mogą stać się przestarzałe lub wymagać refaktoryzowanych, aby zapewnić lepsze wrażenia programistów lub zapewnić obsługę nowej platformy; funkcje zabezpieczeń. W takich przypadkach Android oficjalnie wycofa przestarzałe interfejsów API i kierować programistów do nowych interfejsów API w ich zamianie.
Wycofanie oznacza, że zakończyliśmy oficjalną obsługę interfejsów API, ale będą nadal dostępne dla deweloperów. Na tej stronie omawiamy niektóre wycofane funkcje w tej wersji Androida. Aby zobaczyć inne wycofane funkcje, zapoznaj się z Raport Różnice między interfejsami API.
RenderScript
W Androidzie 12 interfejsy RenderScript API są wycofywane. Będą nadal będą działać, jednak spodziewamy się, że producenci urządzeń i komponentów nie będą już obsługiwane. Aby w pełni wykorzystać możliwości przyspieszenia GPU, zalecamy przejście na rezygnację z RenderScriptu.
Playlisty na Androidzie
Playlisty na Androidzie: wycofane. Interfejs API nie jest już obsługiwany, ale obecne funkcje .
Zalecamy odczytywanie i zapisywanie playlist jako m3u .
Wycofanie interfejsu Display API
Urządzenia z Androidem są obecnie dostępne w wielu różnych formatach, takich jak:
dużych ekranów, tabletów i urządzeń składanych. Aby odpowiednio renderować treści
każdego urządzenia, aplikacja musi określić rozmiar ekranu lub wyświetlacza. Ponad
Android udostępniał różne interfejsy API do pobierania tych informacji. W
Android 11, który wprowadziliśmy
Interfejs WindowMetrics
API został wycofany
te metody:
W Androidzie 12 nadal zalecamy korzystanie z WindowMetrics
oraz wycofujemy te metody:
Aplikacje powinny używać interfejsów API WindowMetrics
, aby wysyłać zapytania dotyczące granic swojego okna lub
Configuration.densityDpi
.
, aby wysłać zapytanie
o obecną gęstość.
Pamiętaj, że Jetpack WindowManager
biblioteka zawiera WindowMetrics
klasy obsługującej Androida 4.0.1 (poziom interfejsu API 14) i nowszego.
Przykłady
Oto kilka przykładów użycia atrybutu WindowMetrics
.
Najpierw upewnij się, że aplikacja może udostępniać z możliwością pełnej zmiany rozmiaru.
Aktywność powinna wykorzystywać atrybut WindowMetrics
z kontekstu aktywności:
wszelkie prace związane z interfejsem użytkownika,
WindowManager.getCurrentWindowMetrics()
Jeśli aplikacja tworzy MediaProjection
, progi muszą mieć odpowiedni rozmiar
ponieważ w ramach projekcji jest rejestrowany obraz. Jeśli można w pełni zmienić rozmiar aplikacji, funkcja
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ć rozmiaru, musi przesłać zapytanie do granic
WindowContext
i pobierz WindowMetrics maksimum
dostępnego dla aplikacji przy użyciu
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();