分类 科技前沿 下的文章

优化 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/

更多详情查看:https://mp.weixin.qq.com/s/ugl45pU6B7XmWKQkPUJcHA

Google Open Source 宣布了新的项目 Season of Docs,旨在让专业的技术作者与开源项目合作去改善文档质量。在 Season of Docs 期间,技术作者将花数个月时间与开源项目密切合作。开源组织可以在 4 月 2 日申请加入,截至日期是 4 月 23 日,Google 将会在 4 月 30 日公布接受的开源项目名单,7 月 30 日公布接受的技术作者项目。
直达链接,https://opensource.googleblog.com/2019/03/introducing-season-of-docs.html

随着 5 月份I/O大会的举办,Android Q 即将与我们见面。对于希望尽快升级的用户来说,一则好消息传来。谷歌 Android 工程师 Mr. Illiyan Malchev 在 podcast 中表示,新一代 Android Beta 项目将纳入更多厂商参加。

所谓 Android Beta 是谷歌去年推出 Android Pie 系统时的公测计划,当时首批合作了包括 Pixel 在内的 8 家厂商,机型涵盖 Essential PH-1, Nokia 7 Plus, 一加6, Oppo R15 Pro, 索尼 Xperia XZ2, Vivo X21 和小米 Mix 2S。

换言之,今年 5 月发布 Android Q Beta 版时,参与的机型和厂商数量会更多,猜测华为、三星等有望加入。

目前,Android Q 的 GSI(通用系统镜像,用于启动 Project Treble 涵盖的设备)已经流出,且被 Magisk 作者 ROOT。据说这一带系统将原生支持黑暗模式、手势区取消点按时返回键等。

XDA-Developers 的伙计们,刚刚对 Chrome for Android 的源码进行了逆向工程,结果发现谷歌正在为它开发一项超级实用的新功能。具体是在浏览器底部添加一行站点图标(TabStrip),以便移动设备用户在切换选项卡。通过轻击插入符号,用户还可以打开网格界面,其中包含了多个网页的缩略预览。

当然,你也可以使用传统的全屏预览。

尽管无法保证该功能会无法保证该功能会成为移动版浏览器的一个主流功能,但随着设备屏幕的不断增长(变大变长)、以及可变形为平板模式的折叠屏智能机的出现(比如 Galaxy Fold 和华为 Mate X),未来用户有望迎来更加出色的浏览体验。

感兴趣的朋友,可以尝试下载最新的 Chrome Canary(非稳定)版本:

https://play.google.com/store/apps/details?id=com.chrome.canary

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。