Kullanımdan kaldırmalar

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