日前,Android 15 发布了 Preview 1 预览版,预览计划将从 2024 年 2 月持续到 Android 15 公开发布(预计 10 月),3月是开发者预览版 2,4 月将推出 Beta 1,5 月将推出 Beta 2,6 月的 Beta 3、7 月的 Beta 4 和然后发布正式版。
感觉又是一个功能上「可有可无」,适配上「必不可少」的版本。
通知
预览版目前看起来没什么太大的变化,值得一提的“亮点”主要集中在“通知冷却”这个功能上,不得不说,Android 几乎每个版本都折腾通知中心:
- Android 5.0 开始支持重要通知、锁屏通知还有勿扰模式
- Android 7.0 开始支持设置通知优先级和通知模式(消息/回复/分组)
- Android 8.0 开始支持渠道通知和通知限制
- Android 10 开始支持通知上的操作(addAction)
- Android 11 USE_FULL_SCREEN_INTENT 支持锁定时发送全屏 intent
- Android 12 开始不支持完全自定义的通知,强制
FLAG_IMMUTABLE
/FLAG_MUTABLE
标志 - Android 13 增加了通知的运行时权限
[android.permission.POST_NOTIFICATION]
- Android 14 增加安全的全屏 Intent 通知,仅限于提供通话和闹钟的应用支持全屏 intent,改进不可关闭通知的方式
而从 Android 15 开始,通知冷却主要是用来限制同一来源的连续通知,用户可以选择将其应用于所有通知或仅限于对话通知。
同一来源的连续通知会让通知音量逐渐降低,不过目前预览版看,重复通知并不会完全静音,而是通过音量变化提醒来自同一来源。
“通知冷却” 目前在预览版里存在一个“未知的“冷却计时器,也就是”冷却“会在一段时间后重置,一旦重置就会恢复原本音量,暂时没看到自定义”冷却计时器“的支持。
文件完整性
Android 15 的 FileIntegrityManager 包含新的 API : setupFsVerity
,它利用 Linux 内核中 fs-verity 功能,文件可以通过自定义加密签名进行保护,帮助开发者确保它们没有被篡改或损坏 (getFsVerityDigest
),这可以增强安全性,防止潜在的恶意软件或未经授权的文件修改,从而损害应用的功能或数据。
fs-verity 一般用于提供完整性保护,即检测意外(非恶意)损坏,但是由于 fs-verity 让检索文件哈希值变得极其高效,因此它主要用作支持身份验证(检测恶意修改)或审核(在使用前记录文件哈希值)的工具。
部分屏幕共享
Android 15 支持部分屏幕共享,用户可以仅共享或记录某个应用窗口,而不是整个设备屏幕,Android 14 QPR2 中其实已经启用了这个支持,这个功能包括有 MediaProjection 回调 :
MediaProjection.Callback#onCapturedContentResize()
允许根据拍摄的显示区域的大小调整共享投影的大小。MediaProjection.Callback#onCapturedContentVisibilityChanged()
将拍摄内容是否可见告知共享投影托管应用,托管应用可以根据捕获的区域对用户是否可见,在输出 surface 上显示或隐藏捕获的内容,例如在多窗口模式下,如果另一个应用完全覆盖了共享应用,主机可以在输出 surface 上隐藏共享应用。
需要注意的是,API 34 开始,每个 MediaProjection 捕获会话都需要户同意,每个MediaProjection
实例只能使用一次。
ADPF
Android 15 继续推进 Android 动态性能框架 (ADPF) ,ADPF 作为一组 API,允许游戏和性能密集型应用更直接地和 Android 设备的电源和散热系统进行交互,ADPF 的主要功能涉及:热状态监控( Android 11)、CPU性能提示(Android 12)和固定性能模式( Android 11)等,在支持 ADPF 的设备上,Android 15 将添加新的 ADPF 功能:
- Power-efficiency mode ,让其关联线程应该优先考虑节能而不是性能,非常适合长时间运行的后台工作负载。
- GPU 和 CPU 工作持续时间都可以在提示 sessions 中获取,允许系统一起调整 CPU 和 GPU 频率,以最好地满足工作负载需求。
- 热余量阈值可以用于根据余量预测解释可能的热节流状态。
最后
剩下的像 Privacy Sandbox 这种涉及广告隐私沙箱和 Health Connect 的相信国内暂时都不是很关心,也就不值一提了。
剩下的就是等候了,等待 Android 15 适配指南~
参考链接:
- https://developer.android.com/about/versions/15/overview
- https://android-developers.googleblog.com/2024/02/first-developer-preview-android15.html