.hd-box .hd-fr

Android 14 源码正式推送至 AOSP,官方介绍“开发环节关键内容”

2023-10-11 20:15IT之家(漾仔(实习))133评
感谢IT之家网友软媒用户1758653的线索投递!

IT之家 10 月 11 日消息,据谷歌开发者官方公众号发文声称,Android 14 的源代码目前已经推送至 Android 开源项目 (AOSP)

Android 14 旨在提高开发者的生产力,同时为用户带来更好的性能、隐私、安全和定制功能。

官方同时介绍了 Android 14 对开发者“影响最大的部分”,IT之家整理如下:

性能和效率

官方声称,Android 14 聚焦的重点领域之一就是“为平台带来更好的性能和效率表现”。

冻结缓存应用

在 Android 14 之前,缓存的应用可以基本不受限制地运行。在 Android 14 中,系统会在应用进入缓存后很短的时间内将其冻结,其 CPU 时间降为零。

在 Android 14 Beta 上,相关缓存进程消耗的 CPU 周期要比 Android 13 正式版设备上少 50%。

因此,常规的 Android 应用生命周期 API (如前台服务、JobScheduler 或 WorkManager)之外的后台工作将被禁止。

广播优化

为了让被冻结的应用更长时间保持冻结状态(比如不会获得 CPU 时间),官方调整了应用进入缓存状态后对上下文注册的广播的接收方式。

更快地应用启动速度

随着 Android 14 对缓存应用和广播优化措施一并到来的,是“得以打破平台缓存应用数量的长期限制”,Android 14 减少了冷启动应用的情况,而且设备 RAM 越大“改善就越明显”。

在 8GB RAM 的设备上,Beta 测试组的冷启动应用减少了 20%,而在 12GB RAM 的设备上则减少了 30%。与热启动相比,冷启动速度较慢,而且耗电量更大。这项工作有效地改善了电量消耗和整体应用启动时间。

减少内存足迹

改进 Android 运行时 (Android Runtime, ART) 对 Android 用户体验影响巨大。

代码大小是谷歌的关键指标之一:生成的文件越小,对内存 (包括 RAM 和存储空间) 的占用就越小。在 Android 14 中,ART 可将代码尺寸平均减小 9.3% 且不影响性能。

定制化

定制化体验是 Android 的核心基因,官方表示,Android 14 将进一步围绕用户的定制化体验,从而改进了无障碍和国际化功能。

非线性字体放大

从 Android 14 开始,用户可以将字体放大到 200%。

此前,Pixel 设备上的字体最多能放大至 130%。系统会采用非线性的放大曲线,让屏幕上大文本元素的放大速度和小文本元素速度不同,从而防止大文本元素被过分放大。

▲ (左)100% 字体尺寸(中) 线性放大至 200% (右)非线性放大至 200%,图源 谷歌

各应用语言偏好设定

开发者可以使用LocaleManager.setOverrideLocaleConfig动态更新应用的 localeConfig,以自行定义在 Android 设置页面中各个应用语言列表中的语言清单。

IME 现在可以使用LocaleManager.getApplicationLocales获取当前应用的界面语言,从而更新键盘语言。

从 Android Studio Giraffe 和 AGP 8.1 开始,开发者还可以对应用进行配置,让其自动支持 Android 13 各应用语言偏好设定。

新的媒体功能

▲ 图源 谷歌

Android 14 现在支持 10 位高动态范围 (HDR)图像以及超强 HDR 图像格式。该格式完全向后兼容 JPEG,应用可以无缝使用 HDR 图像,并根据需要使用标准动态范围来呈现它们。

超强 HDR 图像格式

Android 14 升级和改进了相机扩展功能,让应用支持更长的处理时间,通过计算密集型算法改善成像品质。

无损 USB 音频

Android 14 设备支持无损音频格式,让您可以通过 USB 有线耳机获得发烧级的音频体验

新的图形功能

Android 14 新增了对自定义网格的支持,这些网格可以被定义为三角形或三角形带,还能根据需要支持索引。这些网格使用 AGSL 编写,包含自定义属性、顶点跨度、varying 变量和顶点 / 片段着色器。

Canvas 硬件缓冲渲染器

Android 14 引入了 HardwareBufferRenderer,让 Android 的 Canvas API 在 HardwareBuffer 中绘制时得以使用硬件加速功能。当用例涉及到通过 SurfaceControl 与系统合成器通信以实现低延迟绘制时,此功能会特别有用。

跨设备以及多尺寸屏幕开发

Android 14 在 Android 12L 和 13 的基础上,继续对平板电脑和可折叠设备带来良好的支持: 比如让任务栏更好地支持多任务、发布针对大屏幕优化的系统应用和通知界面、Activity 嵌入,改进了信箱模式和媒体投屏等。

提升生产力

Android 14 中的许多更新会让用户的开发体验更一致、更有趣,也更高效。这些更新中的许多内容也会通过 Google Play 系统更新、Jetpack 开发库和 Google Play 服务在之前的平台版本上提供,便于覆盖更多的用户。

OpenJDK 17 支持

借助 Google Play 系统更新 (Project Mainline),超过 6 亿台设备得以收到随 Android 14 一同发布的最新 Android Runtime (ART) 更新。

Google Play 系统更新

凭据管理器和通行密钥

凭据管理器是新的 Jetpack API,它可通过单一 API 支持多种登录方法,如用户名和密码、通行密钥 (Passkey) 和联合登录解决方案 (如使用 Google 账号登录),从而帮助开发者简化集成过程。凭据管理器可以通过谷歌 Play 服务一直向下支持到 Android 4.4 (API 级别 19)。

Health Connect

Health Connect 是一个由用户控制的,用于存放用户健康和健身数据的设备端内容库,它让实现跨应用和跨设备的集成健康和健身体验变得前所未有的简单。Health Connect 是 Android 平台的一部分,通过 Google Play 系统更新进行升级,无需单独下载。在更早的设备上则以应用的形式提供,可通过谷歌 Play 商店下载。

▲ 图源 谷歌

更强大的系统 Sharesheet

Android 14 的系统 Sharesheet 可添加自定义动作,并改进了共享目标的排名机制,让您的应用可以轻松为用户提供丰富、一致的共享体验。

提高直接共享目标的排名

Android 14 更新了声明前台服务类型和请求特定类型权限的要求。

Google Play 服务也推出了新政策,以确保开发者合理使用这些 API。官方还新增了用户发起的数据传输作业类型,可以为 JobScheduler 设置约束条件,从而简化用户发起的大型上传和下载的管理(如设置网络约束条件,仅允许通过未计量的 Wi-Fi 进行下载)。

用户体验

预测性返回

继 Android 13 引入“返回主屏幕”动画后,Android 14 引入了新的跨 Activity 和跨任务的预测性(Predictive Back)系统动画。该系统动画目前仍可在开发者选项中手动启用,以便留出时间进行更多打磨,并让更多应用选择对预测性返回进行适配。Material 和 Jetpack 库目前已提供预测性返回动画供大家使用。

隐私和安全

用户将在位置信息的运行时授权对话框中看到一块新的描述,用于突出显示应用与第三方共享位置数据的情况,用户可以了解更多信息并控制应用对数据的访问。

▲ 图源 谷歌

对照片和视频授予部分访问权限

在 Android 14(API 级别 34)中,当应用请求 Android 13(API 级别 33)中引入的任何视觉媒体权限(READ_MEDIA_IMAGES 或 READ_MEDIA_VIDEO)时,用户可以授予对其照片和视频的部分访问权限。我们建议您在应用中采用最新的最佳实践方案来适配此项变更。

后台启动 Activity

Android 10 (API 级别 29) 及以上版本对在后台运行的应用启动 Activity 的时机施加了限制。为进一步减少中断用户体验的情况,以 Android 14 为目标平台的应用在发送 PendingIntent 或绑定服务时,需要授予启动特权才能在后台启动 Activity。

阻止安装使用旧版 SDK 的应用

为防止恶意软件利用旧版 API 绕过最新的安全和隐私保护措施,从 Android 14 开始,targetSdkVersion 低于 23 的应用将无法安装。

运行时接收器

以 Android 14 为目标平台的应用必须说明动态 Context.registerReceiver() 的使用是否应被视为 "导出" 或 "未导出"。这是以前版本中清单级工作的延续。

安全的全屏 Intent 通知

由于全屏 Intent 通知是专为需要用户立即关注的极高优先级通知而设计的,因此 Android 14 将只允许提供通话和闹钟功能的应用在安装时获取该权限。您的应用可以启动设置页面让用户完成授权。

更安全的动态代码加载

以 Android 14 为目标平台的应用动态加载的文件需要标记为只读。

更安全的隐式 Intent

以 Android 14 为目标平台的应用在使用隐式 Intent 创建可变的 PendingIntent 时将抛出一个异常,以防它们被用来触发意外的代码路径。

应用兼容性

在发布新的平台版本时,官方表示“会优先考虑应用的兼容性”,以“让更新过程更快、更顺畅”。

在 Android 14 中,大多数面向应用的变更依然是可选的,这样能为大家提供更多的时间进行调整和适配,直到开发者将应用的 targetSdkVersion 升级为 34。我们还更新了工具和流程,帮助大家更快地做好准备。

更轻松地针对变更进行测试和调试

为了让开发者更轻松地测试可能会影响应用的可选变更,官方今年依然为许多变更提供了开关选项。可以在“开发者选项”或 adb 中“单独强制启用或停用这些变更”。

▲  开发者选项中的应用兼容性开关,图源 谷歌

官方声称,如果您是 SDK、开发库、工具和游戏引擎的开发者,现在发布必要的更新相当重要:

您的更新能让下游的应用和游戏开发者免遭兼容性问题困扰,并能及时引入最新的 SDK 功能特性。因此,请务必在发布了 Android 14 所必需的兼容性更新后,及时告知您的下游开发者们。

只需在运行 Android 14 的设备上,通过 Google Play 或其他来源安装您的正式版应用即可开始测试。请测试应用的所有流程,找出功能或用户界面中暴露的问题。请通过行为变更清单(针对所有应用)来确定测试重点

随着 Android 每个版本的发布,我们都会对平台进行整体的改进,以强化隐私和安全,并优化整个操作系统的用户体验,这些都可能会影响到您的应用。

参考

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

下载IT之家APP,分享赚金币换豪礼
相关文章
大家都在买广告
热门评论
查看更多评论