Özellikler ve API'ler

Android 16, geliştiriciler için harika yeni özellikler ve API'ler sunar. Aşağıdaki bölümlerde, ilgili API'leri kullanmaya başlamanıza yardımcı olmak için bu özellikler özetlenmiştir.

Yeni, değiştirilmiş ve kaldırılmış API'lerin ayrıntılı listesi için API farkı raporunu inceleyin. Yeni API'lerle ilgili ayrıntılar için Android API referansı sayfasını ziyaret edin. Yeni API'ler görünürlük için vurgulanmıştır.

Ayrıca platform değişikliklerinin uygulamalarınızı etkileyebileceği alanları da incelemelisiniz. Daha fazla bilgi için aşağıdaki sayfalara göz atın:

Temel işlevler

Android, Android sisteminin temel özelliklerini genişleten yeni API'ler içerir.

2025'te iki Android API sürümü

  • Bu önizleme, 2025'in 2. çeyreğinde kullanıma sunulması planlanan Android'in bir sonraki büyük sürümüdür. Bu sürüm, geçmişteki tüm API sürümlerimize benzer. Bu sürümlerde genellikle bir targetSdkVersion ile ilişkili planlı davranış değişiklikleri yapabiliriz.
  • Ekosistemimizdeki cihaz lansmanlarının planıyla daha uyumlu olması için ana sürümü bir çeyrek daha erken (önceki yıllardaki 3. çeyrek yerine 2. çeyrek) yayınlamayı planlıyoruz. Böylece daha fazla cihaz, Android'in ana sürümünü daha erken alabilir. 2. çeyrekte büyük bir sürüm kullanıma sunulacak. Bu nedenle, uygulamalarınızın hazır olduğundan emin olmak için yıllık uyumluluk testinizi önceki yıllara kıyasla birkaç ay daha erken yapmanız gerekir.
  • 2025'in 4. çeyreğinde yeni geliştirici API'lerini de içerecek başka bir sürüm yayınlamayı planlıyoruz. 2025'te uygulamaları etkileyebilecek planlı davranış değişikliklerini içeren tek sürüm, 2. çeyrek ana sürümü olacaktır.

4. çeyrek küçük sürümünde, yeni geliştirici API'lerinin yanı sıra özellik güncellemeleri, optimizasyonlar ve hata düzeltmeleri yer alacak. Uygulamayı etkileyen davranış değişiklikleri bu sürüme dahil edilmeyecektir.

2025'teki Android sürümlerinin zaman çizelgesi görünümü. 2025'in 2. çeyreğindeki sürümün ana sürüm, 2025'in 4. çeyreğindeki sürümün ise küçük sürüm olduğu belirtilmiştir.

Android sürümlerini üç ayda bir yayınlamaya devam edeceğiz. API sürümleri arasındaki 1. ve 3. çeyrek güncellemeleri, sürekli kaliteyi sağlamaya yardımcı olacak artımlı güncellemeler sunar. 2. çeyrek sürümünü mümkün olduğunca fazla cihazda kullanıma sunmak için cihaz iş ortaklarımızla etkin bir şekilde çalışıyoruz.

Büyük ve küçük sürümlerde yeni API'leri kullanma

API düzeyi kontrolü içeren bir kod bloğunu korumak için günümüzde VERSION_CODES ile SDK_INT sabitinin kullanılması gerekir. Bu özellik, önemli Android sürümlerinde desteklenmeye devam edecektir.

if (SDK_INT >= VERSION_CODES.BAKLAVA) {
  // Use APIs introduced in Android 16
}

Yeni SDK_INT_FULL sabit değeri, yeni VERSION_CODES_FULL enumeration ile hem büyük hem de küçük sürümlere karşı API kontrolleri için kullanılabilir.

if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
  // Use APIs introduced in a major or minor release
}

Yalnızca küçük SDK sürümünü almak için Build.getMinorSdkVersion() yöntemini de kullanabilirsiniz.

val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)

Bu API'ler henüz nihai hâle getirilmedi ve değişiklik yapılabilir. Bu nedenle, endişeleriniz varsa lütfen bize geri bildirim gönderin.

Kullanıcı deneyimi ve sistem kullanıcı arayüzü

Android 16, uygulama geliştiricilere ve kullanıcılara cihazlarını ihtiyaçlarına göre yapılandırma konusunda daha fazla kontrol ve esneklik sunar.

İlerleme odaklı bildirimler

Android 16, kullanıcıların başlattığı baştan sona yolculukları sorunsuz bir şekilde izlemelerine yardımcı olmak için ilerleme odaklı bildirimler sunar.

Notification.ProgressStyle, ilerleme odaklı bildirimler oluşturmanıza olanak tanıyan yeni bir bildirim stilidir. Araç paylaşma, teslimat ve navigasyon, bu özelliğin başlıca kullanım alanları arasındadır. Notification.ProgressStyle sınıfında, noktalar ve segmentler kullanarak kullanıcı yolculuğundaki durumları ve aşamaları belirtebilirsiniz.

Daha fazla bilgi için İlerleme odaklı bildirimler doküman sayfasına bakın.

Kilit ekranında gösterilen ilerleme odaklı bildirim.
Bildirim gölgesinde gösterilen, ilerleme odaklı bir bildirim.

Tahmine dayalı geri gitme güncellemeleri

Android 16, hareketle gezinme sırasında tahmine dayalı geri sistem animasyonlarını (ör. ana sayfaya geri animasyonu) etkinleştirmenize yardımcı olacak yeni API'ler ekler. onBackInvokedCallback'yi yeni PRIORITY_SYSTEM_NAVIGATION_OBSERVER ile kaydettiğinizde, uygulamanız normal geri gezinme akışını etkilemeden sistem geri gezinme işlemi gerçekleştirdiğinde normal onBackInvoked çağrısını alır.

Android 16'da ayrıca finishAndRemoveTaskCallback() ve moveTaskToBackCallback de eklenmiştir. Sistem, bu geri çağırma işlevlerini OnBackInvokedDispatcher ile kaydederek geri hareketi çağrıldığında belirli davranışları tetikleyebilir ve ilgili animasyonlar önceden oynatabilir.

Daha zengin dokunma teknolojisi

自诞生之日起,Android 就提供了对触感反馈致动器的控制。

Android 11 添加了对更复杂的触感反馈效果的支持,更高级的致动器可以通过设备定义的语义基元 VibrationEffect.Compositions 支持这些效果。

Android 16 添加了触感反馈 API,让应用能够定义触感反馈效果的振幅和频率曲线,同时抽象出设备功能之间的差异。

Geliştirici üretkenliği ve araçları

Üretkenliğinizi artırmaya yönelik çalışmalarımızın çoğu Android Studio, Jetpack Compose ve Android Jetpack kitaplıkları gibi araçlara odaklanırken platformda vizyonunuzu gerçekleştirmenize yardımcı olacak yollar aramaya devam ediyoruz.

Animasyonlu duvar kağıtları için içerik işleme

在 Android 16 中,动态壁纸框架将获得一个新的 content API,以应对由用户驱动的动态壁纸带来的挑战。目前,包含用户提供的内容的实时壁纸需要复杂的服务专用实现。Android 16 引入了 WallpaperDescriptionWallpaperInstance。借助 WallpaperDescription,您可以识别同一服务中的动态壁纸的不同实例。例如,如果某张壁纸同时在主屏幕和锁定屏幕上显示,则这两种情况下显示的内容可能各不相同。壁纸选择器和 WallpaperManager 会使用此元数据更好地向用户呈现壁纸,从而简化创建多样化个性化动态壁纸体验的过程。

Performans ve pil

Android 16, uygulamalarınız hakkında analizler toplamanıza yardımcı olan API'ler sunar.

Sistem tarafından tetiklenen profil oluşturma

ProfilingManager, Android 15'e eklendi. Bu sayede uygulamalar, sahadaki herkese açık cihazlarda Perfetto'yu kullanarak profil oluşturma amacıyla veri toplama isteğinde bulunabilir. Ancak bu profil oluşturma işlemi uygulamadan başlatılması gerektiğinden, uygulamaların başlatma veya ANR gibi kritik akışları yakalaması zor veya imkansız olur.

Android 16, bu konuda yardımcı olmak için ProfilingManager'te sistem tarafından tetiklenen profil oluşturma özelliğini kullanıma sunar. Uygulamalar, sıfırdan başlatma reportFullyDrawn veya ANR'ler gibi belirli tetikleyiciler için izleme alma isteğini kaydedebilir. Ardından sistem, uygulama adına bir izlemeyi başlatır ve durdurur. İzleme tamamlandıktan sonra sonuçlar uygulamanın veri dizine gönderilir.

ApplicationStartInfo'da bileşeni başlatma

ApplicationStartInfo, Android 15'te eklendi. Bu parametre, uygulamaların işlem başlatma nedenlerini, başlatma türünü, başlatma zamanlarını, tıkanmayı ve diğer yararlı teşhis verilerini görmesine olanak tanır. Android 16, başlangıcı hangi bileşen türünün tetiklediğini ayırt etmek için getStartComponent() ekliyor. Bu, uygulamanızın başlangıç akışını optimize etmek için yararlı olabilir.

Daha iyi iş incelemesi

JobScheduler#getPendingJobReason() API, bir işin beklemede olmasının nedenini döndürür. Ancak bir işin beklemede olmasının birden fazla nedeni olabilir.

Android 16'da, hem geliştirici tarafından belirlenen açık kısıtlamalar hem de sistem tarafından belirlenen gizli kısıtlamalar nedeniyle bir işin beklemede olmasının birden fazla nedenini döndüren yeni bir API JobScheduler#getPendingJobReasons(int jobId) kullanıma sunuyoruz.

Ayrıca, en son kısıtlama değişikliklerinin listesini döndüren JobScheduler#getPendingJobReasonsHistory(int jobId) işlevini de kullanıma sunuyoruz.

Özellikle belirli görevlerin başarı oranlarının düştüğünü görüyorsanız veya belirli bir işin tamamlanma süresinde gecikmeyle ilgili hatalar varsa API'yi kullanarak işlerinizin neden yürütülemediğini tespit etmenizi öneririz. Örneğin, arka planda widget'ların güncellenmesi başarısız oldu veya uygulama başlatılmadan önce ön getirme işi çağrılamadı.

Bu, belirli işlerin sistem tarafından tanımlanan kısıtlamalar mı yoksa açıkça ayarlanan kısıtlamalar mı nedeniyle tamamlanmadığını daha iyi anlamanıza da yardımcı olabilir.

Uyarlanabilir yenileme oranı

Android 15'te kullanıma sunulan uyarlanabilir yenileme hızı (ARR), desteklenen donanımlarda ekran yenileme hızının ayrı VSync adımları kullanarak içerik kare hızına uyum sağlamasını sağlar. Bu sayede, güç tüketimi azalırken sarsıntıya neden olabilecek mod geçişi ihtiyacı ortadan kaldırılır.

Android 16, uygulamalarınızın ARR'den yararlanmasını kolaylaştırmak için hasArrSupport() ve getSuggestedFrameRate(int) özelliklerini sunarken getSupportedRefreshRates() özelliğini de geri yükler. RecyclerView 1.4, bir atıştan veya sorunsuz kaydırmadan sonra yerleşirken ARR'yi dahili olarak destekler. ARR desteğini daha fazla Jetpack kitaplığına ekleme çalışmalarımıza devam ediyoruz. Bu kare hızı makalesinde, uygulamanızın doğrudan ARR kullanabilmesi için kare hızını ayarlamak üzere kullanabileceğiniz API'lerin çoğu ele alınmaktadır.

ADPF'deki Headroom API'leri

SystemHealthManager, oyunlara ve yoğun kaynak kullanan uygulamalara mevcut CPU ve GPU kaynaklarının tahminlerini sağlamak için tasarlanmış getCpuHeadroom ve getGpuHeadroom API'lerini kullanıma sunar. Bu yöntemler, özellikle termal kısıtlamayı algılayan diğer Android Dinamik Performans Çerçevesi (ADPF) API'leriyle birlikte kullanıldığında, uygulamanızın veya oyununuzun sistem sağlığını en iyi şekilde nasıl iyileştirebileceğini ölçmenize olanak tanır.

Desteklenen cihazlarda CpuHeadroomParams ve GpuHeadroomParams düğmelerini kullanarak, boşluğu hesaplamak için kullanılan zaman aralığını özelleştirebilir ve ortalama veya minimum kaynak kullanılabilirliği arasında seçim yapabilirsiniz. Bu sayede CPU veya GPU kaynak kullanımınızı uygun şekilde azaltabilir, daha iyi kullanıcı deneyimleri ve daha uzun pil ömrü elde edebilirsiniz.

Erişilebilirlik

Android 16, uygulamanızı her kullanıcıya ulaştırmanıza yardımcı olabilecek yeni erişilebilirlik API'leri ve özellikleri ekliyor.

Geliştirilmiş erişilebilirlik API'leri

Android 16, kullanıcı arayüzü anlamlarını iyileştirmek için ek API'ler ekleyerek TalkBack gibi erişilebilirlik hizmetlerini kullanan kullanıcılar için tutarlılığı artırmaya yardımcı olur.

Maksimum metin kontrastı için metnin dış çizgisini kalınlaştırma

Görme bozukluğu olan kullanıcıların kontrast hassasiyeti genellikle düşüktür. Bu durum, nesneleri arka planlarından ayırt etmeyi zorlaştırır. Bu kullanıcılara yardımcı olmak için Android 16, yüksek kontrastlı metnin yerini alan ana hat metnini kullanıma sunar. Bu metin, okunabilirliği büyük ölçüde artırmak için metnin etrafında daha büyük bir kontrast alanı çizer.

Android 16, bu modun etkin olup olmadığını görmek için uygulamalarınızın kontrol etmesine veya dinleyici kaydetmesine olanak tanıyan yeni AccessibilityManager API'leri içerir. Bu, öncelikle benzer bir görsel deneyim sunmak için Oluştur gibi kullanıcı arayüzü araç takımları içindir. Bir kullanıcı arayüzü araç seti kitaplığınız varsa veya uygulamanız android.text.Layout sınıfını atlayan özel metin oluşturma işlemi gerçekleştiriyorsa ana hat metninin ne zaman etkinleştirildiğini öğrenmek için bunu kullanabilirsiniz.

Android 16'daki yeni kenarlıklı metin erişilebilirlik özelliğinden önce ve sonra geliştirilmiş kontrasta sahip metin

TtsSpan'a süre eklendi

Android 16, TtsSpan'yi ARG_HOURS, ARG_MINUTES ve ARG_SECONDS'den oluşan bir TYPE_DURATION ile genişletir. Bu sayede, süreyi doğrudan not edebilirsiniz. Böylece TalkBack gibi hizmetlerde metin okuma özelliğini doğru ve tutarlı bir şekilde kullanabilirsiniz.

Birden fazla etikete sahip öğeleri destekleme

Android şu anda kullanıcı arayüzü öğelerinin erişilebilirlik etiketlerini başka bir öğeden almasına izin veriyor. Ayrıca, web içeriklerinde yaygın bir durum olan birden fazla etiketin ilişkilendirilmesine olanak tanıyor. Android, AccessibilityNodeInfo içinde liste tabanlı bir API tanıtarak bu çok etiketli ilişkileri doğrudan destekleyebilir. Bu değişiklik kapsamında, AccessibilityNodeInfo#setLabeledBy ve #getLabeledBy için desteği sonlandırdık. Bunun yerine #addLabeledBy, #removeLabeledBy ve #getLabeledByList'yi kullanmanızı öneririz.

Genişletilebilir öğeler için iyileştirilmiş destek

Android 16, menü ve genişletilebilir listeler gibi etkileşimli öğelerin genişletilmiş veya daraltılmış durumunu iletmenize olanak tanıyan erişilebilirlik API'leri ekler. setExpandedState kullanarak genişletilmiş durumu ayarlayarak ve CONTENT_CHANGE_TYPE_EXPANDED içerik değişikliği türüyle TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents göndererek TalkBack gibi ekran okuyucuların durum değişikliklerini duyurmasını sağlayabilir, böylece daha sezgisel ve kapsayıcı bir kullanıcı deneyimi sunabilirsiniz.

Belirsiz ilerleme çubukları

Android 16'da RANGE_TYPE_INDETERMINATE eklendi. Bu sayede, hem belirli hem de belirsiz ProgressBar widget'ları için RangeInfo'i gösterebilirsiniz. Böylece TalkBack gibi hizmetler, ilerleme göstergeleri için daha tutarlı geri bildirim sağlayabilir.

Üç durumlu onay kutusu

Android 16'daki yeni AccessibilityNodeInfo getChecked ve setChecked(int) yöntemleri artık "işaretli" ve "işaretsiz" seçeneklerine ek olarak "kısmen işaretli" durumu da destekliyor. Bu, desteği sonlandırılan isChecked ve setChecked(boolean) doğru/yanlış değerlerinin yerini almıştır.

Ek açıklamalar

Erişilebilirlik hizmetleri, bir ViewGroup tanımlarken alt görünümlerindeki içerik etiketlerini birleştirir. ViewGroup için bir contentDescription sağlarsanız erişilebilirlik hizmetleri, odaklanılabilir olmayan alt görünümlerin açıklamasını da geçersiz kıldığınızı varsayar. Erişilebilirlik için mevcut seçimi (ör. "Roboto") korurken açılır menü gibi öğeleri (ör. "Yazı Tipi Ailesi") etiketlemek isterseniz bu durum soruna yol açabilir. Android 16, ViewGroup öğelerinin bilgilerini geçersiz kılmadan ViewGroup hakkında bilgi veren metin sağlayabilmeniz için setSupplementalDescription öğesini ekler.

Zorunlu form alanları

Android 16, uygulamaların bir erişilebilirlik hizmetine form alanına giriş yapılması gerektiğini bildirebilmesi için AccessibilityNodeInfo değerine setFieldRequired değerini ekler. Bu, zorunlu hükümler ve koşullar onay kutusu gibi basit şeyler de dahil olmak üzere birçok form türü dolduran kullanıcılar için önemli bir senaryodur. Kullanıcıların zorunlu alanları tutarlı bir şekilde tanımlamasına ve bunlar arasında hızlıca gezinmesine yardımcı olur.

LEA işitme cihazlarıyla sesli aramalarda mikrofon girişi olarak telefon

Android 16, LE Audio işitme cihazı kullanıcılarının sesli aramalar için işitme cihazlarındaki yerleşik mikrofonlar ile telefonlarındaki mikrofon arasında geçiş yapmalarına olanak tanır. Bu, gürültülü ortamlarda veya işitme cihazının mikrofonlarının iyi performans göstermeyebileceği diğer durumlarda yararlı olabilir.

LEA işitme cihazları için ortam ses seviyesi kontrolleri

Android 16 新增了一项功能,可让 LE Audio 助听器用户调节助听器麦克风接收的环境声音的音量。在背景噪音过大或过小的情况下,这可能会很有用。

Kamera

Android 16, profesyonel kamera kullanıcıları için desteği geliştirerek hassas renk sıcaklığı ve renk tonu ayarlamalarının yanı sıra karma otomatik pozlamaya olanak tanır. Yeni bir gece modu göstergesi, uygulamanızın gece modu kamera oturumuna ne zaman geçeceğini ve bu oturumdan ne zaman çıkacağını bilmesine yardımcı olur. Yeni Intent işlemler, hareketli fotoğraflar çekmeyi kolaylaştırıyor. Ayrıca, HEIC kodlama desteği ve ISO 21496-1 taslak standardındaki yeni parametrelerle Ultra HDR görüntüleri iyileştirmeye devam ediyoruz.

Karma otomatik pozlama

Android 16, Camera2'ye yeni karma otomatik pozlama modları ekler. Bu modlar, pozlamanın belirli yönlerini manuel olarak kontrol etmenize olanak tanır ve geri kalanını otomatik pozlama (AE) algoritmasının halletmesine olanak tanır. ISO + AE ve örnekleme süresi + AE'yi kontrol edebilirsiniz. Böylece, tam manuel kontrole sahip olduğunuz veya tamamen otomatik pozlamaya güvendiğiniz mevcut yaklaşıma kıyasla daha fazla esneklik elde edersiniz.

fun setISOPriority() {
    // ... (Your existing code before the snippet) ...

    val availablePriorityModes = mStaticInfo.characteristics.get(
        CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES
    )

    // ... (Your existing code between the snippets) ...

    // Turn on AE mode to set priority mode
    reqBuilder.set(
        CaptureRequest.CONTROL_AE_MODE,
        CameraMetadata.CONTROL_AE_MODE_ON
    )
    reqBuilder.set(
        CaptureRequest.CONTROL_AE_PRIORITY_MODE,
        CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
    )
    reqBuilder.set(
        CaptureRequest.SENSOR_SENSITIVITY,
        TEST_SENSITIVITY_VALUE
    )
    val request: CaptureRequest = reqBuilder.build()

    // ... (Your existing code after the snippet) ...
}

Hassas renk sıcaklığı ve renk tonu ayarlamaları

Android 16 增加了对相机的精细色温和色调调整的支持,以更好地支持专业视频录制应用。在较低版本的 Android 中,您可以通过 CONTROL_AWB_MODE 控制白平衡设置,其中包含仅限于预设列表的选项,例如白炽灯多云黄昏COLOR_CORRECTION_MODE_CCT 可让您使用 COLOR_CORRECTION_COLOR_TEMPERATURECOLOR_CORRECTION_COLOR_TINT 根据相关色温精确调整白平衡。

fun setCCT() {
    // ... (Your existing code before this point) ...

    val colorTemperatureRange: Range<Int> =
        mStaticInfo.characteristics[CameraCharacteristics.COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE]

    // Set to manual mode to enable CCT mode
    reqBuilder[CaptureRequest.CONTROL_AWB_MODE] = CameraMetadata.CONTROL_AWB_MODE_OFF
    reqBuilder[CaptureRequest.COLOR_CORRECTION_MODE] = CameraMetadata.COLOR_CORRECTION_MODE_CCT
    reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE] = 5000
    reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TINT] = 30

    val request: CaptureRequest = reqBuilder.build()

    // ... (Your existing code after this point) ...
}

以下示例展示了应用不同色温和色调调整后的照片效果:

未应用色温或色调调整的原始图片。
将色温调整为 3000 的图片。
将色温调整为 7000 的图片。


将色调级别降低 50 的图片。
色调级别提高了 50 的图片。

Kamerada gece modu sahne algılama

为了帮助应用了解何时切换到夜间模式相机会话以及何时从夜间模式相机会话切换出,Android 16 添加了 EXTENSION_NIGHT_MODE_INDICATOR。如果受支持,则可在 Camera2 内的 CaptureResult 中使用。

这是我们在Instagram 如何让用户拍出令人惊艳的低光照片博文中提到的即将推出的 API。该博文提供了有关如何实现夜间模式的实用指南,并附有一份案例研究,该案例研究将应用内夜间模式照片质量的提升与通过应用内相机分享的照片数量的增加联系起来。

Hareketli fotoğraf çekme amaçlı işlem

Android 16 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTUREACTION_MOTION_PHOTO_CAPTURE_SECURE,用于请求相机应用拍摄动态照片并将其返回。

您必须传递额外的 EXTRA_OUTPUT 来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData) 传递 Uri。如果您未设置 ClipData,系统会在调用 Context.startActivity(Intent) 时将其复制到该位置。

动态照片示例,显示静态图片和动态播放画面。

Ultra HDR görüntü geliştirmeleri

Standart Dinamik Aralık (SDR) ve Yüksek Dinamik Aralık (HDR) resim kalitesinin karşılaştırmasını gösteren görsel.

Android 16, Ultra HDR görüntülerle göz kamaştırıcı görüntü kalitesi sunma çalışmalarımıza devam ediyor. HEIC dosya biçiminde UltraHDR resimleri için destek ekler. Bu resimler ImageFormat türü HEIC_ULTRAHDR alır ve mevcut UltraHDR JPEG biçimine benzer bir yerleşik kazanç haritası içerir. UltraHDR için AVIF desteği üzerinde de çalışıyoruz. Gelişmeleri takip edin.

Ayrıca Android 16, ISO 21496-1 taslak standardından UltraHDR'ye ek parametreler uygular. Bu parametreler arasında, kazanç haritası matematiğinin uygulanması gereken renk alanını alma ve ayarlama özelliğinin yanı sıra SDR kazanç haritaları içeren HDR kodlanmış temel resimler için destek yer alır.

Grafik

Android 16, AGSL ile özel grafik efektleri gibi en yeni grafik iyileştirmelerini içerir.

AGSL ile özel grafik efektleri

Android 16'da RuntimeColorFilter ve RuntimeXfermode eklendi. Bu sayede, Eşik, Sepya ve Ton Doygunluğu gibi karmaşık efektler oluşturabilir ve bunları çizim çağrılarına uygulayabilirsiniz. Android 13'ten beri Shader'i genişleten özel RuntimeShaders oluşturmak için AGSL'yi kullanabilirsiniz. Yeni API, ColorFilter'i genişleten AGSL destekli bir RuntimeColorFilter ve kaynak ile hedef pikseller arasında AGSL tabanlı özel birleştirme ve karıştırma uygulamanıza olanak tanıyan bir Xfermode efekti ekleyerek bunu yansıtır.

private val thresholdEffectString = """
    uniform half threshold;

    half4 main(half4 c) {
        half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
        half bw = step(threshold, luminosity);
        return bw.xxx1 * c.a;
    }"""

fun setCustomColorFilter(paint: Paint) {
   val filter = RuntimeColorFilter(thresholdEffectString)
   filter.setFloatUniform(0.5);
   paint.colorFilter = filter
}

Bağlantı

Android 16, platformu güncelleyerek uygulamanızın iletişim ve kablosuz teknolojilerdeki en son gelişmelere erişmesini sağlar.

Gelişmiş güvenlik ile aralık belirleme

Android 16, Wi-Fi 6'nın 802.11az özelliğine sahip desteklenen cihazlarda kablosuz konum için güçlü güvenlik özellikleri desteği ekler. Bu sayede uygulamalar, protokolün daha yüksek doğruluğunu, daha fazla ölçeklenebilirliğini ve dinamik planlamasını AES-256 tabanlı şifreleme ve MITM saldırılarına karşı koruma gibi güvenlik geliştirmeleriyle birleştirebilir. Bu sayede, dizüstü bilgisayarın veya araç kapısının kilidini açma gibi yakınlık kullanım alanlarında daha güvenli bir şekilde kullanılabilir. 802.11az, daha geniş kullanım ve daha kolay dağıtım için altyapısından ve özelliklerinden yararlanarak Wi-Fi 6 standardıyla entegre edilmiştir.

Genel aralık API'leri

Android 16 包含新的 RangingManager,它提供了在受支持的硬件上确定本地设备与远程设备之间的距离和角度的方法。RangingManager 支持使用各种测距技术,例如 BLE 信道声音探测、基于 BLE RSSI 的测距、超宽带和 Wi-Fi 往返时间。

Companion Device Manager cihaz varlığı

Android 16 中引入了用于绑定配套应用服务的新 API。当 BLE 在范围内且蓝牙处于连接状态时,系统会绑定服务;当 BLE 不在范围内或蓝牙处于断开连接状态时,系统会解除绑定服务。应用将根据各种 DevicePresenceEvent 收到新的 'onDevicePresenceEvent()' 回调。如需了解详情,请参阅 'startObservingDevicePresence(ObservingDevicePresenceRequest)'

Medya

Android 16, medya deneyimini iyileştiren çeşitli özellikler içerir.

Fotoğraf seçiciyle ilgili iyileştirmeler

照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。

Android 16 对照片选择器进行了以下改进:

  • 嵌入式照片选择器新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
  • 照片选择器中的云搜索新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。

Gelişmiş Profesyonel Video

Android 16 引入了对高级专业视频 (APV) 编解码器的支持,该编解码器专为专业级高品质视频录制和后期制作而设计。

APV 编解码器标准具有以下特点:

  • 感知上无损的视频画质(接近原始视频画质)
  • 复杂度低且吞吐量高的仅帧内编码(无像素域预测),以更好地支持编辑工作流
  • 支持高比特率范围(最高几十 Gbps),适用于 2K、4K 和 8K 分辨率内容,由轻量级熵编码方案实现
  • 帧平铺,用于沉浸式内容和启用并行编码和解码
  • 支持各种色度采样格式和位深
  • 支持多次解码和重新编码,且不会严重降低视觉质量
  • 支持多视图视频和辅助视频,例如深度、Alpha 和预览
  • 支持 HDR10/10+ 和用户定义的元数据

OpenAPV 项目提供了 APV 的参考实现。Android 16 将实现对 APV 422-10 配置文件的支持,该配置文件提供 YUV 422 色彩采样以及 10 位编码,并且目标比特率最高可达 2 Gbps。

Gizlilik

Android 16, uygulama geliştiricilerin kullanıcı gizliliğini korumasına yardımcı olan çeşitli özellikler içerir.

Health Connect güncellemeleri

Health Connect 添加了 ACTIVITY_INTENSITY,这是一种根据世界卫生组织关于中等强度和剧烈强度活动的指南定义的数据类型。每个记录都需要提供开始时间、结束时间以及活动强度(中等或剧烈)。

Health Connect 还包含支持医疗记录的更新版 API。这样一来,应用便可在征得用户明确同意的情况下,读取和写入 FHIR 格式的医疗记录。

Android'de Özel Korumalı Alan

Android 16, kullanıcıların gizliliklerinin korunduğunu bildikleri teknolojiler geliştirmek için devam eden çalışmalarımızın bir parçası olan Android'de Özel Korumalı Alan'ın en son sürümünü içerir. Android geliştirici beta programındaki Özel Korumalı Alan hakkında daha fazla bilgiyi web sitemizde bulabilirsiniz. SDK'ların, sundukları uygulamadan ayrı özel bir çalışma zamanı ortamında çalışmasını sağlayan ve kullanıcı verilerinin toplanması ve paylaşılmasıyla ilgili daha güçlü önlemler sunan SDK Çalışma Zamanı'na göz atın.

Güvenlik

Android 16, uygulamanızın güvenliğini artırmanıza ve uygulamanızın verilerini korumanıza yardımcı olan özellikler içerir.

Key Sharing API

Android 16 添加了一些 API,这些 API 支持与其他应用共享对 Android Keystore 密钥的访问权限。新的 KeyStoreManager 类支持按应用 uid 授予撤消对密钥的访问权限,并包含一个供应用访问共享密钥的 API。

Cihaz form faktörleri

Android 16, uygulamalarınızın Android'in form faktörlerinden en iyi şekilde yararlanmasını sağlar.

TV'ler için standartlaştırılmış görüntü ve ses kalitesi çerçevesi

Android 16'daki yeni MediaQualitypaketi, ses ve resim profillerine ve donanımla ilgili ayarlara erişim için standartlaştırılmış bir API grubu sağlar. Bu sayede akış uygulamaları profilleri sorgulayabilir ve medyaya dinamik olarak uygulayabilir:

  • Daha geniş dinamik aralıkla mastering işlemi uygulanan filmlerde, gölgelerdeki ince ayrıntıları görmek ve ortam ışığına uyum sağlamak için daha yüksek renk doğruluğu gerekir. Bu nedenle, parlaklık yerine renk doğruluğunu tercih eden bir profil uygun olabilir.
  • Canlı spor etkinlikleri genellikle dar bir dinamik aralık ile masterlanır ancak genellikle gün ışığında izlenir. Bu nedenle, renk doğruluğu yerine parlaklığı tercih eden bir profil daha iyi sonuçlar verebilir.
  • Tamamen etkileşimli içerikler, gecikmeyi azaltmak için minimum düzeyde işleme ve daha yüksek kare hızları gerektirir. Bu nedenle birçok TV, oyun profiliyle birlikte gönderilir.

API, uygulamaların profiller arasında geçiş yapmasına ve kullanıcıların desteklenen TV'leri içeriklerine en uygun şekilde ayarlamalarına olanak tanır.

Uluslararası hale getirme

Android 16, cihaz farklı dillerde kullanılırken kullanıcı deneyimini tamamlayan özellikler ve işlevler ekler.

Dikey metin

Android 16 添加了对垂直渲染和测量文本的低级支持,以便为库开发者提供基本的垂直书写支持。这对于日语等通常使用竖向书写系统的语言特别有用。Paint 类中添加了一个新标志 VERTICAL_TEXT_FLAG。使用 Paint.setFlags 设置此标志后,Paint 的文本测量 API 将报告垂直进度,而不是水平进度,并且 Canvas 将垂直绘制文本。

val text = "「春は、曙。」"
Box(
    Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
        drawIntoCanvas { canvas ->
            val paint = Paint().apply { textSize = 64.sp.toPx() }
            // Draw text vertically
            paint.flags = paint.flags or VERTICAL_TEXT_FLAG
            val height = paint.measureText(text)
            canvas.nativeCanvas.drawText(
                text,
                0,
                text.length,
                size.width / 2,
                (size.height - height) / 2,
                paint
            )
        }
    }
) {}

Ölçü sistemi özelleştirme

用户现在可以在“设置”中的地区偏好设置中自定义测量系统。用户偏好设置包含在语言区域代码中,因此您可以在 ACTION_LOCALE_CHANGED 上注册 BroadcastReceiver,以便在地区偏好设置发生更改时处理语言区域配置更改。

使用格式设置程序有助于提供符合当地体验的服务。例如,对于将手机设置为英语(丹麦)或将手机设置为英语(美国)并将公制作为首选测量系统的用户,“0.5 in”的英语(美国)对应于“12,7 mm”。

如需找到这些设置,请打开“设置”应用,然后依次前往系统 > 语言和地区