Her sürümde belirli Android API'leri eskiyebilir veya daha iyi bir geliştirici deneyimi sunmak ya da yeni platform özelliklerini desteklemek için yeniden düzenlenmesi gerekebilir. Bu durumlarda Android eski API'leri resmi olarak kullanımdan kaldıracak ve geliştiricileri bunların yerine kullanılacak yeni API'lere yönlendirecektir.
Kullanımdan kaldırma, API'ler için resmi desteği sona erdirdiğimiz ancak geliştiricilerin kullanımına sunulmaya devam edeceği anlamına gelir. Bu sayfada, Android'in bu sürümünde kullanımdan kaldırılma işlemlerinden bazıları ele alınmaktadır. Kullanımdan kaldırılan diğer uygulamaları görmek için API farkları raporuna bakın.
RenderScript
RenderScript API'leri, Android 12 sürümünden itibaren kullanımdan kaldırılmıştır. Çalışmaya devam edecek olsa da cihaz ve bileşen üreticilerinin zaman içinde donanım hızlandırma desteği sunmayı bırakmasını bekliyoruz. GPU hızlandırmadan tam olarak yararlanmak için RenderScript'ten taşımanızı öneririz.
Android oynatma listeleri
Android oynatma listeleri kullanımdan kaldırılmıştır. API artık yönetilmez, ancak mevcut işlevle uyumluluk için korunur.
Oynatma listelerini m3u dosyaları olarak okuyup kaydetmenizi öneririz.
Display API'nin kullanımdan kaldırılması
Android cihazlar; büyük ekranlar, tabletler ve katlanabilir cihazlar gibi birçok farklı form faktöründe kullanıma sunuluyor. İçeriği her cihaza uygun şekilde oluşturmak için
uygulamanızın ekran veya görüntü boyutunu belirlemesi gerekir. Zaman içinde Android bu bilgileri almak için farklı API'ler sağlamıştır. Android 11'de WindowMetrics
API'yi kullanıma sunduk ve aşağıdaki yöntemleri kullanımdan kaldırdık:
Android 12'de WindowMetrics
kullanımını önermeye devam ediyoruz ve bu yöntemleri kullanımdan kaldırıyoruz:
Uygulamalar, pencere sınırlarını sorgulamak için WindowMetrics
API'lerini veya mevcut yoğunluğu sorgulamak için Configuration.densityDpi
API'lerini kullanmalıdır.
Jetpack WindowManager
kitaplığının Android 4.0.1 (API düzeyi 14) ve sonraki sürümleri destekleyen bir WindowMetrics
sınıfı içerdiğini unutmayın.
Örnekler
Aşağıda, WindowMetrics
kullanımıyla ilgili bazı örnekler verilmiştir.
Öncelikle, uygulamanızın etkinliklerini tamamen yeniden boyutlandırılabilir hale getirebildiğinden emin olun.
Bir etkinlik, kullanıcı arayüzü ile ilgili tüm çalışmalar (özellikle WindowManager.getCurrentWindowMetrics()
) için etkinlik bağlamından WindowMetrics
temel almalıdır.
Uygulamanız bir MediaProjection
oluşturuyorsa projeksiyon görüntüyü yakaladığından sınırların doğru boyutlandırılması gerekir. Uygulama tamamen yeniden boyutlandırılabilirse etkinlik bağlamı doğru sınırları döndürür.
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
Java
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
Uygulama tamamen yeniden boyutlandırılabilir değilse bir WindowContext
örneğindeki sınırları sorgulaması ve WindowManager.getMaximumWindowMetrics()
kullanarak uygulamanın kullanabildiği maksimum görüntüleme alanının WindowMetrics'ini alması gerekir.
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();