谷歌希望让Android 16在音乐和视频流媒体播放方面表现更好

每当您的Android设备播放任何类型的媒体文件,如歌曲或YouTube视频时,操作系统会生成多个复杂的单独进程,以确保媒体文件的安全播放。这是为了减轻利用格式错误的媒体文件或不安全的媒体编解码器的漏洞,例如几年前臭名昭著的Stagefright漏洞。虽然Android现在的媒体文件处理已经更加安全,但也显得低效,而Android 16中的一项新功能旨在解决这个问题。

谷歌希望让Android 16在音乐和视频流媒体播放方面表现更好

编解码器是一种软件算法,定义了数字音频或视频数据的压缩和解压缩方式。在Android 7.0之前,整个媒体框架被封装在一个单一的庞大进程中,该进程持有大量敏感权限。由于编解码器被包含在其中,因此其媒体文件处理中的漏洞可能允许攻击者提升权限。

在Android 7.0中,谷歌通过将媒体框架拆分成多个不同的进程来增强其安全性,每个进程只需要一小部分权限。编解码器现在在独立的沙箱进程中运行,并通过Android的进程间通信(IPC)API——Binder,与其他媒体和应用进程进行通信。由于编解码器进程是沙箱化的,因此漏洞的影响仅限于该沙箱进程。这种架构设计减少了类似Stagefright漏洞的发生概率。

谷歌希望让Android 16在音乐和视频流媒体播放方面表现更好

尽管这种架构更加安全,但由于重复使用进程间通信(IPC)调用,它会导致性能下降。例如,一个音乐流媒体应用必须通过IPC调用将编码数据传递给编解码器进程,并获取解码数据。需要进行的IPC调用越多,CPU使用率就越高。尽管这对最好的Android手机影响较小,但提高媒体播放效率仍然值得,尤其是考虑到这是一项非常常见的用户活动。

因此,Android 16增加了对进程内软件音频编解码器的支持,这一功能允许媒体编解码器在应用程序的进程内运行,而不是在通常的沙箱化媒体编解码器进程中运行。Android 16的MediaCodecInfo类现在包括一个getSecurityModel()方法,返回 SECURITY_MODEL_SANDBOXED(标准沙箱进程)或 SECURITY_MODEL_MEMORY_SAFE(进程内操作)。尽管进程内操作可能存在风险,但由于编解码器的软件实现是用像Rust这样的内存安全语言编写的,因此被认为是安全的。

谷歌希望让Android 16在音乐和视频流媒体播放方面表现更好

尽管Android 16关于这一新功能的文档简短,但谷歌已经开发这个功能多年。一位消息人士告诉我,谷歌在2023年的Mainline Summit上展示了这一功能,这是一个私人活动,谷歌在该活动中分享了Project Mainline模块的变更。

谷歌推出这一功能的主要动机,如在演示中所揭示,是为了提升AAC编解码器的性能并减少功耗。公司估计,解码和编码AAC内容时,最多有50%的CPU周期是由于进程间通信所消耗的。因此,切换到进程内编解码器将提高AAC解码和编码的效率。为了应对安全问题,谷歌希望这些进程内编解码器使用像Rust这样的内存安全语言编写,而不是C++。

我的消息人士告诉我,谷歌最初计划在Android 15中推出这一功能,但公司将其推迟到了Android 16。尽管Android 16支持这一功能,但目前实际上尚未启用。这是因为厂商需要用Rust重写编解码器。在我的Pixel 9 Pro上测试Android 16的新API时,我发现所有媒体编解码器仍然使用沙箱化的方法。

谷歌希望让Android 16在音乐和视频流媒体播放方面表现更好

因此,尽管Android 16的新进程内软件音频编解码器功能在理论上应该能在播放媒体时带来更好的性能和电池续航,但我们可能需要等待一段时间才能看到这些好处。希望谷歌和编解码器厂商能够合作,将许多流行的编解码器用Rust重写,以便我们在未来能够享受到这一新功能的好处。

上一篇 2025年4月4日 20:27
下一篇 2025年4月4日 23:02

相关推荐

  • 你仍在使用运行 Android 12 的旧设备吗?是时候升级了

    我们花了很多时间讨论最好的 Android 手机和最新的 Android 版本,但大多数人并没有配备最新的设备和最新的 Android 系统。事实上,Google 最新的数据显示,大多数用户仍在使用 Android 12 或更早版本。由于大多数用户无法访问最新的 Android 版本,Google 会将安全补丁回溯到较旧的版本,以确保使用旧设备的用户保持安全…

    2025年4月15日
    551
  • 大家都讨厌 Garmin 新推出的付费版 Connect 订阅服务,而我完全能理解他们的感受

    在三月底,Garmin 推出了一项新的订阅服务,为 Garmin Connect 应用带来了更多功能。这项创意性地命名为 Garmin Connect Plus 的新服务,增加了一些升级工具,同时要求用户支付每月 6.99 美元的费用。我曾简要体验了一下,并撰写了一篇 Garmin Connect Plus 的上手文章,介绍读者可以预期获得的内容。然而,针对…

    2025年4月17日
    555
  • 安卓的实时字幕现在可以帮助你“读懂言外之意”

    谷歌在2019年的Google I/O大会上首次推出了实时字幕(Live Caption)功能。这项被低估的无障碍功能可以为设备中播放的任何语音生成字幕。尽管功能本身相当实用,但屏幕上的简单文本却难以准确表现场景音频中的情绪和强度。现在,谷歌通过表现字幕(Expressive Captions)对实时字幕进行了升级,利用AI捕捉语音和声音的情感强度,并以文本…

    2024年12月6日
    818
  • Nothing说这项削减成本的措施与削减成本无关(是吗,真是的)

    Nothing Phone 3a和3a Pro看起来都是很棒的中档Android手机,但这些设备也有一些妥协,这是预料之中的。现在,Nothing解释了为何大幅降级存储的原因,但粉丝们并不买账。 Nothing本周发布了一篇博客文章,详细解释了为何Phone 3a系列使用较旧的UFS 2.2存储,而不是更新的(但不是最新的)UFS 3.1标准。 你可能认为N…

    2025年3月21日
    522
  • Fitbit 无法同步?你并不孤单,服务遭遇重大故障

    这是一个美丽的星期四早晨,你伴着旭日早起,准备在忙碌的一天开始前来一次长跑。但怎么回事?你的运动手环无法与应用同步了?如果你是 Fitbit 用户,这很可能就是你今天遇到的情况,因为该公司服务器发生了重大故障。 在 Fitbit 状态仪表板上,公司确认自今天大约三小时前开始出现持续的故障。虽然该页面承认 Fitbit 应用和网页 API 存在问题,但表示设备…

    2025年7月18日
    238