摘要:Android 16 通过减少解码视频或音频所需的进程数量,提高了媒体播放的效率。这是通过使用 Rust(一种更高效、更安全的语言)编写的媒体编解码器实现的。
即将推出的 Android 版本正在精简许多小功能。媒体播放是 Android 16 将优化的最新功能。
这将提高安卓系统播放离线和在线媒体的性能。使用 Spotify 串流音乐或播放 YouTube 视频也将受益于这一变化。
媒体编解码器关键因素
曾经有一段时间,视频和音频文件非常庞大,存储一分钟的片段就需要几 GB 的空间。后来,MP4 和 MP3 等格式出现,将媒体压缩到了更容易接受的大小。
它们实现这一目标的方法是对视频或音频数据进行 “编码”。这将数据压缩成一个小文件,但无法直接播放。
然后,媒体播放器必须将文件 “解码 ”为可播放的媒体。编解码器是包含如何解码这些文件的信息的关键。
安全性使问题复杂化
编解码器本身并不构成问题。媒体播放器可以很容易地在后台启动一个进程来联系编解码器并解码正在播放的视频或音频。问题在于权限。
如果解码和播放在同一进程中进行,不安全的编解码器就会让黑客访问整个系统。为了解决这个问题,Android 在自己的独立进程中运行编解码器。
这意味着即使编解码器存在漏洞,其后果也不会影响整个应用程序或操作系统。另一方面,这也使得媒体播放效率非常低。
每次应用程序需要播放视频或音频时,都需要查询编解码器进程,然后等待结果。这会给媒体播放带来微小但可察觉的延迟。
解决方案 Rust
在播放过程中运行编解码器的整个问题在于潜在的漏洞。但是,如果有一种方法可以确保这一过程具有无懈可击的安全性呢?
Rust 是一种注重高效、安全代码的编程语言。就其设计本身而言,Rust 程序不可能存在内存漏洞。
Android 16 通过使用 Rust 编解码器改进了媒体播放。这些编解码器将在播放过程中运行,无需多个进程。
到目前为止,只有音频编解码器使用 Rust 重写;视频播放仍使用旧方法。但过渡已经开始,期待更多厂商发布 Rust 编解码器,改进 Android 16 中的媒体播放。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/57259.html