Appearance
媒体、图形与性能:相机专业控制、AGSL、UltraHDR、APV 与 ADPF 裕度
本页导读:Android 16 在图形侧给了 AGSL 自定义滤镜/混合与自适应帧率落地 API;相机侧一口气补齐混合自动曝光、色温精确调节、夜间模式指示器与动态照片 Intent;影像格式侧 UltraHDR 扩到 HEIC 并跟进 ISO 21496-1;编解码侧引入专业级 APV;性能侧有 ADPF 的 CPU/GPU 裕度 API 和系统触发的 Perfetto 剖析。本页逐项标版本、给官方链接,并说明「帧 timing」这类话题在 16 的真实官方口径。
版本注记:事实源为官方Android 16 特性页(图形/相机/媒体/性能章节)与行为变更页,核对时间 2026-10。全部特性为 Android 16 / API 36,另有标注除外。
一、能力总表
| 特性 | 域 | 官方入口 |
|---|---|---|
RuntimeColorFilter / RuntimeXfermode(AGSL) | 图形 | AGSL 文档 |
自适应刷新率应用侧 API(hasArrSupport 等) | 图形/功耗 | 帧率指南 |
ADPF 裕度:getCpuHeadroom/getGpuHeadroom | 性能 | SystemHealthManager 参考 |
| 系统触发的 Perfetto 剖析 | 性能 | ProfilingManager 参考 |
ApplicationStartInfo.getStartComponent() | 性能 | 特性页性能节 |
| 混合自动曝光(AE 优先级) | 相机 | Camera2 文档 |
| 色温/色调精确调整(CCT) | 相机 | 同上 |
夜间模式指示器 EXTENSION_NIGHT_MODE_INDICATOR | 相机 | CaptureResult 参考 |
动态照片 Intent(ACTION_MOTION_PHOTO_CAPTURE) | 相机 | 特性页相机节 |
| UltraHDR:HEIC 载体 + ISO 21496-1 参数 | 影像 | UltraHDR 文档 |
| APV 专业视频编解码 | 编解码 | MediaFormat 参考 |
| 嵌入式照片选择器 + 云搜索 | 媒体平台 | 特性页媒体节 |
电视标准化画质音质框架(MediaQuality) | 媒体平台 | TV 设计入口 |
二、图形:AGSL 从「自定义 Shader」扩展到「自定义滤镜与混合」
版本注记:Android 16 / API 36。谱系:Android 13(API 33)引入 AGSL
RuntimeShader;16 新增两个同族类。
- 新增
RuntimeColorFilter(扩展ColorFilter)与RuntimeXfermode(扩展Xfermode):用 AGSL 源码字符串定义「源像素→目标像素」的自定义滤镜与合成混合,套进普通Paint即可作用于绘制调用。 - 官方示例是阈值二值化滤镜:uniform 传阈值,
main(half4 c)里算亮度dot(rgb, 0.2126/0.7152/0.0722)后step——等于把过去只能在 RenderEffect/原生层做的效果下沉到 framework 公开 API。 - 工程意义:Sepia、Hue-Saturation、对比度曲线这类效果不再需要各 app 自带 native 渲染栈;系统可做统一优化。自研图片编辑器/滤镜 SDK 的建议是把效果表逐步 AGSL 化。
- 文档与语法:AGSL(Android Graphics Shading Language)。
选型速查(16 上给效果找实现方式的顺序):
| 需求 | 首选 | 说明 |
|---|---|---|
| 单图层调色/滤镜 | RuntimeColorFilter | AGSL 只改写源像素,最便宜 |
| 两图层自定义混合 | RuntimeXfermode | 控制 src×dst 组合,可做溶解、遮罩类效果 |
| 程序化纹理/渐变 | RuntimeShader(API 33 起) | 生成型内容,非滤镜 |
| 多 pass 复杂管线 | RenderEffect 组合三者 | 每个 effect 仍是独立小 AGSL |
参数注入方式与 RuntimeShader 同族:setFloatUniform(index, value) / setFloatUniform(name, ...) 绑定 AGSL 里的 uniform,逐帧改 uniform 即可做动画滤镜;AGSL 字符串可预编译缓存,避免每帧构造对象。
三、帧率与「帧 timing」:官方给的是 ARR API,不是新时间戳
版本注记:Android 16 / API 36。
- 自适应刷新率(ARR)落地:ARR 机制本身 Android 15(API 35)引入(用离散 VSync 步长贴合内容帧率省电);Android 16 补上应用侧工具:
Display.hasArrSupport()、Display.getSuggestedFrameRate(int),并恢复getSupportedRefreshRates()。RecyclerView1.4 已在内部适配 ARR(快滑停稳过程)。全量用法见帧率指南。 - 帧 timing 话题的 16 真实口径:官方特性页没有新增「帧时间戳/呈现预测」类公开 API;平台侧的呈现数据通路(Frame Pacing/SurfaceFlinger 时间线)继续以 Perfetto trace + Frame Pacing Monitor 作为官方推荐观察面。抓帧 timing 的实操路径写在本项目 tools/02 调试工具链,不在本篇承诺新接口。
为什么不给新 API:呈现时间线数据已可通过 Perfetto 的 gfx/sched 轨道完整还原(vsync、post fence、frame timeline),framework 侧再加公开接口的边际收益低;Google 的选择是把观测做深而不是把内部结构外抛。读 trace 的能力,因此成为 16 时代图形调试的硬要求。
四、性能可观测性:三个新扳手
版本注记:Android 16 / API 36。
4.1 ADPF 裕度 API(Cpu/Gpu Headroom)
SystemHealthManager新增getCpuHeadroom(CpuHeadroomParams)/getGpuHeadroom(GpuHeadroomParams)(参考):给出「现在还能安全用多少 CPU/GPU」的估算值。- 参数可选时间窗口与「平均可用 vs 最低可用」口径;官方定位是与热缓解状态检测(ADPF thermal API)配合,让游戏/重负载应用在升温前提前降载,兼顾帧率与电池。
- ADPF 全家族(性能提示、状态回调、CPU/GPU Workload API)背景见ADPF 主文档。
4.2 系统触发的性能分析(System-triggered profiling)
- Android 15 的
ProfilingManager只能「应用自己发起 Perfetto 采集」,抓不到冷启动与 ANR 现场;Android 16 允许注册触发器(冷启动到reportFullyDrawn、ANR),由系统代为启停 trace,产物落应用数据目录。 - 这是「线上性能归因」的官方正道:以前各家 SDK 靠 hook/轮询凑的启动与 ANR 现场采集,现在一条注册搞定。ANR 现场 trace 的解读见 tools/02。
4.3 启动诊断增强
ApplicationStartInfo(Android 15 引入)新增getStartComponent():区分触发进程启动的组件类型(Activity/服务/广播等),配合既有启动原因/启动时间字段做启动归因。- 作业内省(配额调试入口)见 01 页 §二:
getPendingJobReasons/getPendingJobReasonsHistory。
五、相机:专业控制的四块新砖
版本注记:Android 16 / API 36,Camera2 面。
5.1 混合自动曝光(Hybrid AE)
官方示例的最小形态(Kotlin,特性页原例改写):
kotlin
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, myIsoValue) // 锁 ISO,AE 管快门- 过去二选一:全自动 AE 或全手动。16 新增 AE 优先级模式(
CONTROL_AE_PRIORITY_MODE_*,配合CONTROL_AE_MODE_ON):ISO 优先(你锁SENSOR_SENSITIVITY,AE 管曝光时间)与曝光时间优先(你锁SENSOR_EXPOSURE_TIME,AE 管 ISO)两种混合形态。 - 能力探测:
CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES。参考:CameraMetadata 常量。
注意取景-拍摄一致性:AE 优先级与 CCT 在预览会话和拍照会话要各下一遍参数,只配一边会出现「预览一个色、成片另一个色」的经典事故;回归用例里把「预览截图 vs 成片主色」做对比。
5.2 精确色温与色调(CCT)
- 旧路径
CONTROL_AWB_MODE只有白炽/多云/黄昏等预设;新增COLOR_CORRECTION_MODE_CCT:以相关色温直调,配COLOR_CORRECTION_COLOR_TEMPERATURE(K 值,范围见COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE)与COLOR_CORRECTION_COLOR_TINT(绿-品红轴)。需先CONTROL_AWB_MODE_OFF。 - 面向专业录像 app 的手动白平衡需求。
5.3 夜间模式场景指示器
CaptureResult新增EXTENSION_NIGHT_MODE_INDICATOR:告诉应用「当前场景已被系统判定进/出夜间模式扩展」,UI 可以正确点亮/熄灭夜景标识(探测CameraCharacteristics扩展列表)。官方在特性页引用了 Instagram 的低光拍摄案例研究(特性页原文)。
5.4 动态照片拍摄 Intent
- 新标准 Intent:
ACTION_MOTION_PHOTO_CAPTURE/ACTION_MOTION_PHOTO_CAPTURE_SECURE,请求相机应用拍动态照片(Motion Photo)并回传;输出用EXTRA_OUTPUT或Intent.setClipData(ClipData)传 Uri。拍后处理链路(转码/上传)可以少一套私有协议。
六、UltraHDR:载体扩张 + 标准化参数
版本注记:Android 16 / API 36。UltraHDR 基础格式见官方 HDR 图片文档。
- HEIC 载体:新增
ImageFormat类型HEIC_ULTRAHDR(参考),增益图内嵌方式与现有 UltraHDR JPEG 一致;官方明确 AVIF 支持在路上(特性页原文「敬请期待」,尚未交付,别按已上线写排期)。 - ISO 21496-1 草稿标准参数:增益图色彩空间可查可设;HDR 基底图可配 SDR 增益图。跨设备传递 HDR 亮度意图时不再只靠厂商私有元数据。
落地建议(UltraHDR):新增量以「解码兼容 + 增益图缺失自动回退 SDR」为底线做灰度;编辑类 app 先把增益图当作可调图层暴露(强度/饱和度分离),比一刀切的 HDR 强度滑杆体验好得多。
七、APV:给专业视频工作流的编解码器
版本注记:Android 16 / API 36;MIME 见
MediaFormat.MIMETYPE_VIDEO_APV。
官方列出的 APV(Advanced Professional Video)特性,决定它适合「拍摄-剪辑-交付」链路而不是分发链路:
感知近无损画质;仅帧内编码(无像素域预测),低复杂度高吞吐,天生抗随机访问——剪辑友好。
高码率区间(最高数十 Gbps),面向 2K/4K/8K;轻量熵编码。
帧平铺支持并行编解码与沉浸式内容;多色度采样与位深。
多次解码再编码画质不崩(剪辑管线刚需);多视图与辅助视频(深度/Alpha/预览)。
HDR10/10+ 与用户自定义元数据。
对 SoC 的要求在「编码吞吐」而非常规「压缩率」:4K/10bit 422 码率按 GB/min 量级预估存储与传输,拍前检查剩余空间应当成为相机应用接入 APV 的配套交互。
选型提醒:APV 定位是拍摄与中间格式,分发链路仍是 AV1/HEIF 的天下;接入时把「APV 录制 → 剪辑 → 转 AV1 交付」当完整管线规划,别拿它直接当网络分发码流。
- Android 16 落地 APV 422-10 配置(YUV 422 采样、10 bit,目标码率最高 2 Gbps);参考实现在 OpenAPV 项目。
八、媒体平台组件:选择器、电视与 MediaStore
版本注记:Android 16 / API 36。
- 嵌入式照片选择器:新 API 允许把选择器嵌进应用视图层级(不再整屏跳转),进程隔离与免全库授权的安全模型不变;官方要求经 Android Jetpack 库接入以保跨版本兼容。照片选择器本体是 Mainline 组件 + Play 服务,官方口径后向覆盖到 Android 4.4(API 19)——「媒体组件可单独更新」在 16 的典型例证。
- 云媒体搜索:选择器新增向云端媒体提供方发起搜索的 API,云相册与本机相册一个选择器收口。落地建议:嵌入式形态务必经 Jetpack 接入,让库替你处理 Mainline 版本碎片;自建「全选/半选」交互的 app 迁移成本最低、收益最直接。
- 电视 MediaQuality:新软件包公开标准化 API,读取/切换电视的画质音质配置文件(色彩准确度优先 vs 亮度优先 vs 低延迟游戏档),播放类 app 可按内容类型动态选档。
- MediaStore 版本锁定(target36):
getVersion()每应用唯一化,防指纹;行为细节见 02 页 §九。
九、健康 × 媒体:核实结果
官方 Android 16 特性页的媒体/图形章节没有「健康数据与媒体联动」的条目(2026-10 核对)。健康侧的能力全部集中在 Health Connect 与传感器/连接域,见 05 页 §四;坊间若有「16 健康相册/体征视频」类说法,按传闻/待验证处理,本站不收录。
十、落地与测试清单
- 相机四件套按「能力探测 → 降级路径」接入:AE 优先级、CCT、夜景指示、动态照片 Intent 都要先查
CameraCharacteristics,没有就回落旧流程;测试必须真机(模拟器 camera2 覆盖有限)。 - AGSL 滤镜先在内部 demo 里对比新旧渲染栈的帧耗时(用 tools/02 的 gfxinfo/Perfetto 方法),收益确认再迁移。
- ARR:长列表页在支持机型上验证
hasArrSupport()分支与SuggestedFrameRate对齐(Compose 侧配合frameRate修饰符)。 - 游戏/播放器:headroom API 接入热测试(连续 30 分钟高负载 + 帧率曲线),确认降载动作发生在节流硬墙之前。
- 线上剖析:注册系统触发 trace(冷启动/ANR),并在隐私合规文档里说明采集范围。
- APV/UltraHDR 属「拍得出/存得下」能力,服务端转码链路同步升级再开客户入口。
- 照片选择器嵌入式形态:在 Mainline 旧版本设备上验证 Jetpack 回退路径(整屏模式),避免「新形态崩溃、旧形态没测」两头漏。
- 系统触发剖析的产物落应用私有目录,注意随应用数据清理策略一并管理,防止 trace 堆积占存储。
- 相机 Intent 类特性(动态照片)要做「目标相机应用不支持」的 ActivityNotFound 兜底,标准 Intent 不代表人人实现。
十一、三个快答
- UltraHDR 是 HDR 视频吗? 不是,它是静态图像的 SDR 基底 + 增益图方案(JPEG/HEIC 载体),与 HDR 视频链路(HDR10/10+ 等)并行不混用;电视侧
MediaQuality管的是播放设备档位选择。 getSuggestedFrameRate和preferredDisplayMode什么关系? 前者面向 ARR 内容帧率建议(离散 VSync 步长),后者是固定显示模式切换;长列表省电选 ARR,视频定档选后者,可叠加使用。- headroom API 会给出绝对算力值吗? 官方口径是「估算值」,且不同设备/热状态下口径抖动大;用法应是相对趋势判断(余量快速收窄→提前降载),不要拿数值做跨机型对比。
本页小结
本页小结:Android 16 的媒体图形主线是「专业平权」:AGSL 让自定义滤镜进 framework、CCT/混合 AE 让手动控制不再全或无、UltraHDR 用 HEIC 与 ISO 21496-1 把 HDR 图像标准化、APV 给专业视频一个系统级编解码、照片选择器以 Mainline 形态把安全授权模式铺到 API 19。性能侧
getCpuHeadroom/getGpuHeadroom与系统触发剖析把「热降频前自救」和「现场 trace」变成一等公民。帧 timing 无新公开 API——那是 Perfetto 的地盘,见工具篇。
参考资料
特性页 API 变更索引(按类浏览 16 增量):https://developer.android.google.cn/sdk/api_diff/36/changes
Android 16 特性页(图形/相机/媒体/性能):https://developer.android.google.cn/about/versions/16/features
AGSL 文档:https://developer.android.google.cn/develop/ui/views/graphics/agsl
帧率与 ARR 指南:https://developer.android.google.cn/media/optimize/performance/frame-rate
SystemHealthManager(headroom API):https://developer.android.google.cn/reference/android/os/health/SystemHealthManager
ADPF 主文档:https://developer.android.google.cn/games/optimize/adpf
ADPF 热缓解:https://developer.android.google.cn/games/optimize/adpf/thermal
ProfilingManager:https://developer.android.google.cn/reference/android/os/ProfilingManager
Camera2 指南:https://developer.android.google.cn/media/camera/camera2
CameraMetadata 参考:https://developer.android.google.cn/reference/android/hardware/camera2/CameraMetadata
UltraHDR 图片格式:https://developer.android.google.cn/media/platform/hdr-image-format
ImageFormat 参考(HEIC_ULTRAHDR):https://developer.android.google.cn/reference/android/graphics/ImageFormat
MediaFormat 参考(MIMETYPE_VIDEO_APV):https://developer.android.google.cn/reference/android/media/MediaFormat
行为变更:targetSdk 36(MediaStore 版本锁定):https://developer.android.google.cn/about/versions/16/behavior-changes-16