Android Q Beta 正式发布 | 优化 P2P 及网络连接 新的音频及视频解码器
优化 P2P 及网络连接
在 Android Q 中,我们对 Wi-Fi 堆栈进行了重构,这不仅提升了应用在隐私及性能方面的表现,而且对许多常见用例也有一定的优化作用,如 IoT 设备管理,显示可用网络等,无需请求位置权限。
网络连接 API 让您可以更轻松地管理 IoT 设备,并使用配置、下载和打印等 P2P 功能。应用通过将 SSID 和 BSSID 中的偏好设置指定为 WiFiNetworkSpecifiers, 间接发起网络连接请求;系统负责扫描附近的 Wi-Fi,并在 Wi-Fi 选择器中显示匹配结果。当用户选择网络后,系统会自动设置网络连接。
WiFiNetworkSpecifiers
https://developer.android.google.cn/reference/android/net/NetworkSpecifier.html
网络建议 API 允许应用用户显示推荐的网络选项。应用会对网络和证书进行排名,并将该列表作为 WifiNetworkSuggestions,以此来间接发起网络连接。随后,系统便会根据用户的历史偏好,从列表中挑选出最合适的选项,并建立无缝连接。
WifiNetworkSuggestions
https://developer.android.google.cn/reference/android/net/wifi/WifiNetworkSuggestion
Wi-Fi 性能模式
您现在可以在 Android Q 中启用高性能、低延迟的自适应 Wi-Fi 模式,这样一来,即使是在网络延迟比较敏感的场景下,如实时游戏、主动呼叫等,依旧能保障流畅的用户体验。
如需启用新的性能模式,请通过 WIFI_MODE_FULL_LOW_LATENCY 或 WIFI_MODE_FULL_HIGH_PERF 调用 WifiManager.WifiLock.createWifiLock()。在这些模式下,Android 平台将配合设备固件协同工作,实现最低能耗。
WifiManager.WifiLock.createWifiLock()
https://developer.android.google.cn/reference/android/net/wifi/WifiManager.html#createWifiLock
新的音频及视频解码器
Android Q 现已支持开源视频解码器 AV1,媒体供应商只需更少的带宽就能将高质量视频内容传输至 Android 设备上。我们还添加了对 Opus 音频格式的支持。Opus 编码器能自动识别输入信号是语音还是音乐,然后据此选择优化的编码模式。此外,用户也可在支持 HDR 10+ 的 Android Q 设备上,播放高动态范围视频。
AV1
https://en.wikipedia.org/wiki/AV1
更少的带宽
https://en.wikipedia.org/wiki/AV1#Quality_and_efficiency
Opus
http://opus-codec.org/
HDR 10+
https://en.wikipedia.org/wiki/High-dynamic-range_video#HDR10+
MediaCodecInfo API 可帮助开发者更轻松地判定 Android 设备的视频渲染能力。您可调用 VideoCodecCapabilities.getSupportedPerformancePoints() 获取现有解码器所支持的文件大小和帧率,以确保设备能够播放最佳质量的视频内容。
MediaCodecInfo API
https://developer.android.google.cn/reference/android/media/MediaCodecInfo
原生 MIDI API
针对使用 C++ 代码处理音频文件的应用,Android Q 添加了原生 MIDI API,让应用可以通过 NDK 与 MIDI 设备进行数据传输。应用可在音频的回调函数中使用非阻塞读取来检索 MIDI 数据。欢迎大家查看参考示例应用及其源代码。
原生 MIDI API
https://developer.android.google.cn/preview/features/midi
参考示例应用及其源代码
https://github.com/googlesamples/android-ndk
基于 Vulkan 的 ANGLE 渲染引擎
我们正在努力行动争取为 Vulkan 设备带去可更新的标准化 OpenGL 引擎。Android Q 在 Vulkan 的基础上为 Android 设备添加了 ANGLE 支持。ANGLE 是一款专为高性能 OpenGL 功能实现打造图像抽象层。有了 ANGLE 之后,使用 OpenGL ES 进行开发的应用和游戏便可直接体验 Vulkan 带来的强劲性能与高稳定性,并了在 Android 设备上部署统一且不受供应商限制的 ES 实现。我们计划在 Android Q 中引入 OpenGL ES 2.0 支持,此外,针对 ES 3.0 的支持也在密集筹划中。
ANGLE
https://chromium.googlesource.com/angle/angle/+/master/README.md
今后,我们会继续拓展 Android 设备上的 ES 实现,为开发者带去更多的 OpenGL 功能,错误修复和性能优化项。请阅读相关文档,了解 Android 对 ANGLE 的现有支持,具体操作以及后续发展计划。如果您想在应用内测试 ANGLE 初期支持,请在设置中启用开发者选项。心动不如行动,不妨立即上手试一下吧!
相关文档
https://developer.android.google.cn/preview/features#angle
随时随地,尽享 Vulkan
Vulkan 是一款面向 3D 图形渲染推出的革命性 API,具备低消耗、高性能、跨平台等优势,我们将继续扩展 Vulkan 在 Android 平台上的应用范围,努力将其打造成一款支持范围广、一致性高的图形 API。目前,我们已多家设备厂商达成合作,有望在运行 Android Q 或更高版本系统的设备上加入 Vulkan 1.1,其中,64 位设备为硬性要求,而对于 32 位设备则为推荐配置。通过与生态圈伙伴的开放合作,我们希望在将来为应用和游戏开发者们提供一套标准的高性能图形 API。
Vulkan
https://www.khronos.org/vulkan/
Vulkan 在 Android 平台上
https://developer.android.google.cn/ndk/guides/graphics/