Fitur dan API

Android 16 memperkenalkan fitur dan API baru yang hebat untuk para developer. Bagian berikut merangkum fitur ini untuk membantu Anda mulai menggunakan API terkait.

Untuk melihat daftar mendetail tentang API yang baru, diubah, dan dihapus, baca laporan perbedaan API. Untuk mengetahui detail tentang API baru, buka referensi API Android — API baru ditandai agar lebih mudah dilihat.

Anda juga harus meninjau area tempat perubahan platform dapat memengaruhi aplikasi Anda. Untuk informasi selengkapnya, lihat halaman berikut:

Fungsi inti

Android menyertakan API baru yang memperluas kemampuan inti sistem Android.

Dua rilis Android API pada tahun 2025

  • This preview is for the next major release of Android with a planned launch in Q2 of 2025. This release is similar to all of our API releases in the past, where we can have planned behavior changes that are often tied to a targetSdkVersion.
  • We're planning the major release a quarter earlier (Q2 rather than Q3 in prior years) to better align with the schedule of device launches across our ecosystem, so more devices can get the major release of Android sooner. With the major release coming in Q2, you'll need to do your annual compatibility testing a few months earlier than in previous years to make sure your apps are ready.
  • We plan to have another release in Q4 of 2025 which also will include new developer APIs. The Q2 major release will be the only release in 2025 to include planned behavior changes that could affect apps.

In addition to new developer APIs, the Q4 minor release will pick up feature updates, optimizations, and bug fixes; it will not include any app-impacting behavior changes.

Timeline view of Android releases in 2025, noting that the 25Q2
       release is a major release and the 25Q4 release is a minor release.

We'll continue to have quarterly Android releases. The Q1 and Q3 updates in-between the API releases will provide incremental updates to help ensure continuous quality. We're actively working with our device partners to bring the Q2 release to as many devices as possible.

Using new APIs with major and minor releases

Guarding a code block with a check for API level is done today using the SDK_INT constant with VERSION_CODES. This will continue to be supported for major Android releases.

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

The new SDK_INT_FULL constant can be used for API checks against both major and minor versions with the new VERSION_CODES_FULL enumeration.

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

You can also use the Build.getMinorSdkVersion() method to get just the minor SDK version.

val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)

These APIs have not yet been finalized and are subject to change, so please send us feedback if you have any concerns.

Pengalaman pengguna dan UI sistem

Android 16 memberi developer dan pengguna aplikasi kontrol dan fleksibilitas yang lebih besar untuk mengonfigurasi perangkat agar sesuai dengan kebutuhan mereka.

Notifikasi yang berfokus pada progres

Android 16 引入了以进度为中心的通知,可帮助用户顺畅地跟踪用户发起的端到端历程。

Notification.ProgressStyle 是一种新的通知样式,可让您创建以进度为中心的通知。主要用例包括共享车辆、送货和导航。在 Notification.ProgressStyle 类中,您可以使用细分来表示用户体验历程中的状态和里程碑。

如需了解详情,请参阅以进度为中心的通知文档页面。

锁屏上显示的以进度为中心的通知。
在通知栏中显示的以进度为中心的通知。

Pembaruan kembali prediktif

Android 16 menambahkan API baru untuk membantu Anda mengaktifkan animasi sistem kembali prediktif dalam navigasi gestur seperti animasi kembali ke layar utama. Dengan mendaftarkan onBackInvokedCallback ke PRIORITY_SYSTEM_NAVIGATION_OBSERVER baru, aplikasi Anda dapat menerima panggilan onBackInvoked reguler setiap kali sistem menangani navigasi kembali tanpa memengaruhi alur navigasi kembali normal.

Android 16 juga menambahkan finishAndRemoveTaskCallback() dan moveTaskToBackCallback. Dengan mendaftarkan callback ini dengan OnBackInvokedDispatcher, sistem dapat memicu perilaku tertentu dan memutar animasi yang sesuai sebelumnya saat gestur kembali dipanggil.

Haptik yang lebih kaya

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

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

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

Alat dan produktivitas developer

Meskipun sebagian besar upaya kami untuk meningkatkan produktivitas Anda berpusat pada alat seperti Android Studio, Jetpack Compose, dan library Android Jetpack, kami selalu mencari cara di platform untuk membantu Anda mewujudkan visi Anda.

Penanganan konten untuk wallpaper animasi

Di Android 16, framework wallpaper animasi mendapatkan API konten baru untuk mengatasi tantangan wallpaper dinamis yang didorong pengguna. Saat ini, wallpaper live yang menggabungkan konten yang disediakan pengguna memerlukan penerapan khusus layanan yang kompleks. Android 16 memperkenalkan WallpaperDescription dan WallpaperInstance. WallpaperDescription memungkinkan Anda mengidentifikasi instance wallpaper animasi yang berbeda dari layanan yang sama. Misalnya, wallpaper yang memiliki instance di layar utama dan layar kunci mungkin memiliki konten unik di kedua tempat tersebut. Pemilih wallpaper dan WallpaperManager menggunakan metadata ini untuk menampilkan wallpaper dengan lebih baik kepada pengguna, sehingga menyederhanakan proses bagi Anda untuk membuat pengalaman wallpaper hidup yang beragam dan dipersonalisasi.

Performa dan baterai

Android 16 memperkenalkan API yang membantu mengumpulkan insight tentang aplikasi Anda.

Pembuatan profil yang dipicu sistem

ProfilingManager ditambahkan di Android 15, yang memberi aplikasi kemampuan untuk meminta pengumpulan data pembuatan profil menggunakan Perfetto di perangkat publik di lapangan. Namun, karena pembuatan profil ini harus dimulai dari aplikasi, alur penting seperti startup atau ANR akan sulit atau tidak dapat direkam oleh aplikasi.

Untuk membantu hal ini, Android 16 memperkenalkan pembuatan profil yang dipicu sistem ke ProfilingManager. Aplikasi dapat mendaftarkan minat untuk menerima rekaman aktivitas untuk pemicu tertentu seperti cold start reportFullyDrawn atau ANR, lalu sistem akan memulai dan menghentikan rekaman aktivitas atas nama aplikasi. Setelah pelacakan selesai, hasilnya akan dikirim ke direktori data aplikasi.

Komponen awal di ApplicationStartInfo

ApplicationStartInfo 在 Android 15 中添加,可让应用查看进程启动原因、启动类型、启动时间、节流和其他实用诊断数据。Android 16 添加了 getStartComponent(),用于区分触发启动的组件类型,这有助于优化应用的启动流程。

Introspeksi tugas yang lebih baik

The JobScheduler#getPendingJobReason() API returns a reason why a job might be pending. However, a job might be pending for multiple reasons.

In Android 16, we are introducing a new API JobScheduler#getPendingJobReasons(int jobId), which returns multiple reasons why a job is pending, due to both explicit constraints set by the developer and implicit constraints set by the system.

We're also introducing JobScheduler#getPendingJobReasonsHistory(int jobId), which returns a list of the most recent constraint changes.

We recommend using the API to help you debug why your jobs may not be executing, especially if you're seeing reduced success rates of certain tasks or have bugs around latency of certain job completion. For example, updating widgets in the background failed to occur or prefetch job failed to be called prior to app start.

This can also better help you understand if certain jobs are not completing due to system defined constraints versus explicitly set constraints.

Kecepatan refresh adaptif

Android 15 中引入的自适应刷新率 (ARR) 可让受支持硬件上的显示屏刷新率使用离散的 VSync 步长来适应内容帧速率。这不仅降低了功耗,还无需进行可能导致卡顿的模式切换。

Android 16 引入了 hasArrSupport()getSuggestedFrameRate(int),同时恢复了 getSupportedRefreshRates(),以便您的应用更轻松地利用 ARR。RecyclerView 1.4从快速滑动或平滑滚动中稳定下来时会在内部支持 ARR,我们将继续努力,将 ARR 支持添加到更多 Jetpack 库中。这篇帧速率文章介绍了许多可用于设置帧速率的 API,以便您的应用可以直接使用 ARR。

API ruang kosong di ADPF

SystemHealthManager 引入了 getCpuHeadroomgetGpuHeadroom API,旨在为游戏和资源密集型应用提供可用 CPU 和 GPU 资源的估算值。通过这些方法,您可以评估应用或游戏如何以最佳方式改善系统运行状况,尤其是在与用于检测热节流的其他 Android 动态性能框架 (ADPF) API 搭配使用时。

在受支持的设备上使用 CpuHeadroomParamsGpuHeadroomParams,您可以自定义用于计算余量的时间范围,并在平均资源可用性或最低资源可用性之间进行选择。这有助于您相应地减少 CPU 或 GPU 资源用量,从而提升用户体验并延长电池续航时间。

Aksesibilitas

Android 16 menambahkan API dan fitur aksesibilitas baru yang dapat membantu Anda menghadirkan aplikasi kepada setiap pengguna.

API aksesibilitas yang ditingkatkan

Android 16 menambahkan API tambahan untuk meningkatkan semantik UI yang membantu meningkatkan konsistensi bagi pengguna yang mengandalkan layanan aksesibilitas, seperti TalkBack.

Membuat garis tepi teks untuk kontras teks maksimum

Pengguna dengan gangguan penglihatan sering kali memiliki sensitivitas kontras yang berkurang, sehingga sulit untuk membedakan objek dari latar belakangnya. Untuk membantu pengguna ini, Android 16 memperkenalkan teks garis batas, yang menggantikan teks kontras tinggi, yang menggambar area kontras yang lebih besar di sekitar teks untuk sangat meningkatkan keterbacaan.

Android 16 berisi API AccessibilityManager baru untuk memungkinkan aplikasi Anda memeriksa atau mendaftarkan pemroses untuk melihat apakah mode ini diaktifkan. Hal ini terutama untuk Toolkit UI seperti Compose untuk menawarkan pengalaman visual yang serupa. Jika Anda mengelola library UI Toolkit atau aplikasi Anda melakukan rendering teks kustom yang mengabaikan class android.text.Layout, Anda dapat menggunakannya untuk mengetahui saat teks garis batas diaktifkan.

Teks dengan kontras yang ditingkatkan sebelum dan setelah fitur aksesibilitas teks garis batas baru Android 16

Durasi ditambahkan ke TtsSpan

Android 16 memperluas TtsSpan dengan TYPE_DURATION, yang terdiri dari ARG_HOURS, ARG_MINUTES, dan ARG_SECONDS. Hal ini memungkinkan Anda menganotasi durasi waktu secara langsung, sehingga memastikan output text-to-speech yang akurat dan konsisten dengan layanan seperti TalkBack.

Mendukung elemen dengan beberapa label

Android saat ini memungkinkan elemen UI untuk memperoleh label aksesibilitas dari elemen lain, dan kini menawarkan kemampuan untuk mengaitkan beberapa label, sebuah skenario umum dalam konten web. Dengan memperkenalkan API berbasis daftar dalam AccessibilityNodeInfo, Android dapat langsung mendukung hubungan multi-label ini. Sebagai bagian dari perubahan ini, kami telah menghentikan AccessibilityNodeInfo#setLabeledBy dan #getLabeledBy dan menggantinya dengan #addLabeledBy, #removeLabeledBy, dan #getLabeledByList.

Dukungan yang lebih baik untuk elemen yang dapat diluaskan

Android 16 menambahkan API aksesibilitas yang memungkinkan Anda menyampaikan status elemen interaktif yang diperluas atau ditutup, seperti menu dan daftar yang dapat diluaskan. Dengan menetapkan status yang diperluas menggunakan setExpandedState dan mengirim TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents dengan jenis perubahan konten CONTENT_CHANGE_TYPE_EXPANDED, Anda dapat memastikan bahwa pembaca layar seperti TalkBack mengumumkan perubahan status, sehingga memberikan pengalaman pengguna yang lebih intuitif dan inklusif.

Status Progres Tidak Pasti

Android 16 menambahkan RANGE_TYPE_INDETERMINATE, yang memberi Anda cara untuk mengekspos RangeInfo untuk widget ProgressBar determinate dan indeterminate, sehingga layanan seperti TalkBack dapat memberikan masukan secara lebih konsisten untuk indikator progres.

CheckBox tiga status

Metode AccessibilityNodeInfo getChecked dan setChecked(int) baru di Android 16 kini mendukung status "sebagian dicentang" selain " dicentang" dan "tidak dicentang". Ini menggantikan boolean isChecked dan setChecked(boolean) yang tidak digunakan lagi.

Deskripsi tambahan

Saat menjelaskan ViewGroup, layanan aksesibilitas akan menggabungkan label konten dari tampilan turunannya. Jika Anda memberikan contentDescription untuk ViewGroup, layanan aksesibilitas akan menganggap Anda juga mengganti deskripsi tampilan turunan yang tidak dapat difokuskan. Hal ini dapat menjadi masalah jika Anda ingin memberi label pada hal-hal seperti drop-down (misalnya, "Font Family") sekaligus mempertahankan pilihan saat ini untuk aksesibilitas (misalnya, "Roboto"). Android 16 menambahkan setSupplementalDescription sehingga Anda dapat memberikan teks yang memberikan informasi tentang ViewGroup tanpa mengganti informasi dari turunannya.

Kolom formulir wajib diisi

Android 16 menambahkan setFieldRequired ke AccessibilityNodeInfo sehingga aplikasi dapat memberi tahu layanan aksesibilitas bahwa input ke kolom formulir diperlukan. Ini adalah skenario penting bagi pengguna yang mengisi banyak jenis formulir, bahkan hal-hal sepele seperti kotak centang persyaratan dan ketentuan yang diperlukan, yang membantu pengguna untuk secara konsisten mengidentifikasi dan berpindah dengan cepat di antara kolom yang diperlukan.

Ponsel sebagai input mikrofon untuk panggilan suara dengan alat bantu dengar LEA

Android 16 adds the capability for users of LE Audio hearing aids to switch between the built-in microphones on the hearing aids and the microphone on their phone for voice calls. This can be helpful in noisy environments or other situations where the hearing aid's microphones might not perform well.

Kontrol volume sekitar untuk alat bantu dengar LEA

Android 16 menambahkan kemampuan bagi pengguna alat bantu dengar LE Audio untuk menyesuaikan volume suara sekitar yang ditangkap oleh mikrofon alat bantu dengar. Hal ini dapat membantu dalam situasi saat suara bising di latar belakang terlalu keras atau terlalu pelan.

Kamera

Android 16 meningkatkan dukungan untuk pengguna kamera profesional, sehingga memungkinkan eksposur otomatis hybrid bersama dengan penyesuaian suhu warna dan tint yang akurat. Indikator mode malam baru membantu aplikasi Anda mengetahui kapan harus beralih ke dan dari sesi kamera mode malam. Tindakan Intent baru mempermudah pengambilan foto bergerak, dan kami terus meningkatkan kualitas gambar UltraHDR dengan dukungan untuk encoding HEIC dan parameter baru dari draf standar ISO 21496-1.

Eksposur otomatis hybrid

Android 16 向 Camera2 添加了新的混合自动曝光模式,让您可以手动控制曝光的特定方面,同时让自动曝光 (AE) 算法处理其余部分。您可以控制 ISO + AE曝光时间 + AE,与当前方法(您要么完全手动控制,要么完全依赖自动曝光)相比,可提供更大的灵活性。

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) ...
}

Penyesuaian tint dan color temperature yang presisi

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 的图片。

Deteksi adegan mode malam kamera

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

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

Tindakan intent pengambilan foto motion

Android 16 menambahkan tindakan Intent standar — ACTION_MOTION_PHOTO_CAPTURE, dan ACTION_MOTION_PHOTO_CAPTURE_SECURE — yang meminta aplikasi kamera mengambil foto gerakan dan menampilkannya.

Anda harus meneruskan EXTRA_OUTPUT tambahan untuk mengontrol tempat gambar akan ditulis, atau Uri melalui Intent.setClipData(ClipData). Jika Anda tidak menetapkan ClipData, nilai tersebut akan disalin ke sana untuk Anda saat memanggil Context.startActivity(Intent).

Contoh foto motion, yang menampilkan gambar diam, diikuti dengan pemutaran gerakan.

Peningkatan gambar UltraHDR

标准动态范围 (SDR) 与高动态范围 (HDR) 图片质量对比示意图。

Android 16 继续致力于通过 UltraHDR 图片提供出色的图片质量。它添加了对 HEIC 文件格式的 UltraHDR 图片的支持。这些图片将获得 ImageFormat 类型 HEIC_ULTRAHDR,并包含类似于现有 UltraHDR JPEG 格式的嵌入式增益图。我们还在努力为 UltraHDR 添加 AVIF 支持,敬请期待。

此外,Android 16 在 UltraHDR 中实现了 ISO 21496-1 草稿标准中的其他参数,包括能够获取和设置应应用增益图算法的色彩空间,以及支持使用 SDR 增益图的 HDR 编码基础图片。

Grafik

Android 16 menyertakan peningkatan grafis terbaru, seperti efek grafis kustom dengan AGSL.

Efek grafis kustom dengan AGSL

Android 16 添加了 RuntimeColorFilterRuntimeXfermode,让您可以创作阈值、Sepia 和 Hue Saturation 等复杂效果,并将其应用于绘制调用。从 Android 13 开始,您可以使用 AGSL 创建扩展 Shader 的自定义 RuntimeShader。新 API 反映了这一点,添加了由 AGSL 驱动的 RuntimeColorFilter(用于扩展 ColorFilter)和 Xfermode 效果,让您可以在源像素和目标像素之间实现基于 AGSL 的自定义合成和混合。

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
}

Konektivitas

Android 16 mengupdate platform untuk memberi aplikasi Anda akses ke kemajuan terbaru dalam teknologi nirkabel dan komunikasi.

Pengukuran jarak dengan keamanan yang ditingkatkan

Android 16 在搭载 Wi-Fi 6 的 802.11az 的受支持设备上为 Wi-Fi 位置信息添加了对强大的安全功能的支持,让应用能够将该协议的更高精确性、更高可伸缩性和动态调度与安全增强功能(包括基于 AES-256 的加密和防范中间人攻击)相结合。这样,在近距离使用情形(例如解锁笔记本电脑或车门)时,便可更安全地使用该功能。802.11az 与 Wi-Fi 6 标准集成,可利用其基础架构和功能实现更广泛的采用和更轻松的部署。

API pengukuran jarak generik

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

Kehadiran perangkat pengelola perangkat pendamping

In Android 16, new APIs are being introduced for binding your companion app service. Service will be bound when BLE is in range and Bluetooth is connected and service will be unbound when BLE is out of range or Bluetooth is disconnected. App will receives a new 'onDevicePresenceEvent()' callback based on various of DevicePresenceEvent. More details can be found in 'startObservingDevicePresence(ObservingDevicePresenceRequest)'.

Media

Android 16 menyertakan berbagai fitur yang meningkatkan pengalaman media.

Peningkatan pemilih foto

Pemilih foto menyediakan cara bawaan yang aman bagi pengguna untuk memberikan akses aplikasi Anda ke gambar dan video yang dipilih dari penyimpanan lokal dan cloud, bukan seluruh koleksi media mereka. Dengan menggunakan kombinasi Komponen Sistem Modular melalui Update Sistem Google dan layanan Google Play, fitur ini didukung kembali ke Android 4.4 (API level 19). Integrasi hanya memerlukan beberapa baris kode dengan library Android Jetpack terkait.

Android 16 menyertakan peningkatan berikut pada pemilih foto:

  • Alat pilih foto tersemat: API baru yang memungkinkan aplikasi menyertakan alat pilih foto ke dalam hierarki tampilannya. Hal ini memungkinkannya merasa seperti bagian aplikasi yang lebih terintegrasi sekaligus masih memanfaatkan isolasi proses yang memungkinkan pengguna memilih media tanpa memerlukan izin yang terlalu luas. Untuk memaksimalkan kompatibilitas di seluruh versi platform dan menyederhanakan integrasi, sebaiknya gunakan library Android Jetpack mendatang jika Anda ingin mengintegrasikan alat pilih foto tersemat.
  • Cloud Search di pemilih foto: API baru yang memungkinkan penelusuran dari penyedia media cloud untuk pemilih foto Android. Fungsi penelusuran di pemilih foto akan segera hadir.

Video Profesional Lanjutan

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

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

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

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

Privasi

Android 16 menyertakan berbagai fitur yang membantu developer aplikasi melindungi privasi pengguna.

Update Health Connect

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

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

Privacy Sandbox di Android

Android 16 menggabungkan versi terbaru Privacy Sandbox di Android, yang merupakan bagian dari upaya berkelanjutan kami untuk mengembangkan teknologi yang memungkinkan pengguna mengetahui bahwa privasi mereka dilindungi. Situs kami memiliki informasi selengkapnya tentang program beta developer Privacy Sandbox di Android untuk membantu Anda memulai. Lihat Runtime SDK yang memungkinkan SDK berjalan di lingkungan runtime khusus yang terpisah dari aplikasi yang ditayangkan, sehingga memberikan pengamanan yang lebih kuat seputar pengumpulan dan pembagian data pengguna.

Keamanan

Android 16 menyertakan fitur yang membantu Anda meningkatkan keamanan aplikasi dan melindungi data aplikasi Anda.

API berbagi kunci

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

Faktor bentuk perangkat

Android 16 memberikan dukungan bagi aplikasi Anda untuk mendapatkan manfaat maksimal dari faktor bentuk Android.

Framework kualitas gambar dan audio standar untuk TV

The new MediaQuality package in Android 16 exposes a set of standardized APIs for access to audio and picture profiles and hardware-related settings. This allows streaming apps to query profiles and apply them to media dynamically:

  • Movies mastered with a wider dynamic range require greater color accuracy to see subtle details in shadows and adjust to ambient light, so a profile that prefers color accuracy over brightness may be appropriate.
  • Live sporting events are often mastered with a narrow dynamic range, but are often watched in daylight, so a profile that preferences brightness over color accuracy can give better results.
  • Fully interactive content wants minimal processing to reduce latency, and wants higher frame rates, which is why many TV's ship with a game profile.

The API allows apps to switch between profiles and users to enjoy tuning supported TVs to best suit their content.

Internasionalisasi

Android 16 menambahkan fitur dan kemampuan yang melengkapi pengalaman pengguna saat perangkat digunakan dalam bahasa yang berbeda.

Teks vertikal

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
            )
        }
    }
) {}

Penyesuaian sistem pengukuran

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

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

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