Android 10围绕三个重要主题构建。首先,Android 10正在塑造移动创新的领先优势,具有先进的机器学习功能,并支持新兴设备,如可折叠和5G手机。接下来,Android 10主要关注隐私和安全性,其中近50项功能可为用户提供更好的保护,透明度和控制。最后,Android 10扩展了用户的数字福利控制,因此个人和家庭可以找到更好的技术平衡。
创新和新体验
使用Android 10,你可以利用最新的硬件和软件创新,为用户打造令人惊叹的应用体验。
1
Foldables
基于强大的多窗口支持,Android 10扩展了跨应用程序窗口的多任务处理,并在设备折叠或展开时提供屏幕连续性来维护应用程序状态。Android 10在onResume和onPause中添加了许多改进,以支持多简历,并在应用程序有焦点时通知它。它还改变了resizeableActivity manifest属性的工作方式,以帮助您管理应用程序在可折叠和大屏幕上的显示方式。为了帮助您构建可折叠设备,您可以在Android Studio中将可折叠模拟器配置为虚拟设备
(AVD)
优化折叠
2
5g网络
5G承诺提供持续更快的速度和更低的延迟,Android 10增加了对5G的平台支持,并扩展了现有api,以帮助您利用这些增强。您可以使用连接性api来检测设备是否具有高带宽连接,并检查连接是否已计量。有了这些,你的应用程序和游戏可以为5G以上的用户定制丰富的身临其境的体验。
3
智能回复通知
Android 10使用on-device ML在通知中建议上下文操作,比如智能回复消息或打开通知中的地址地图。您的应用程序可以立即利用这一特性,而不需要您做任何事情。默认情况下,系统提供的智能回复和操作直接插入通知。如果您愿意,您仍然可以提供您自己的回复和操作。只需使用setallowgeneratedanswers()和setallowsystemgeneratedcontext alactions()在每个通知的基础上选择退出智能回复。
智能回复
4
Dark主题
Android 10增加了一个系统范围内的黑暗主题,这是低光和帮助节省电池的理想选择。用户可以通过进入“设置”或打开“电池保护程序”来激活一个新的全系统黑暗主题。这将系统UI更改为dark,并启用支持它的dark主题。您可以为您的应用程序构建一个自定义的dark主题,或者选择加入一个新的Force dark特性,该特性允许系统从您现有的主题动态创建一个dark版本。您可能还想利用AppCompat的DayNight特性为早期版本的Android用户提供黑暗主题。
Dark主题
5
手势导航
Android 10引入了一种全手势导航模式,消除了导航栏区域,允许应用程序使用全屏来提供更丰富、更身临其境的体验。它保留了人们熟悉的Back、Home和Recents导航,通过边缘滑动而不是可见按钮来导航。要与手势导航无缝融合,您应该从边缘到边缘,在导航栏后面绘制,以创建一种身临其境的体验。要实现这一点,应用程序应该使用全屏显示的setSystemUiVisibility() API,然后根据需要处理WindowInsets,以确保UI的重要部分不被遮挡。
手势导航
6
设置面板
现在,您可以通过一个新的Settings.Panel API,直接在应用程序上下文中显示关键系统设置。设置面板是一个浮动UI,您可以调用它来显示用户可能需要的设置,比如internet连接、NFC和音频音量。例如,浏览器可以显示带有连接设置的面板,如飞机模式、Wi-Fi(包括附近的网络)和移动数据。要显示设置面板,只需使用新的Settings.Panel.actions
7
分享快捷键
分享快捷方式让分享变得更快更容易,用户可以直接跳转到另一个应用程序来分享内容。开发人员可以发布共享目标,这些目标在应用程序中启动带有附加内容的特定活动,并在共享UI中显示给用户。因为它们是预先发布的,所以在启动时共享UI会立即加载。共享快捷方式类似于应用程序快捷方式,并且使用相同的ShortcutInfo API。在ShareTarget AndroidX库中也支持该API。
分享快捷
用户隐私
隐私是Android 10的核心关注点,从平台中更强的保护到考虑隐私的新功能。在之前版本的基础上,Android 10进行了广泛的修改,以保护隐私,并赋予用户更多的控制权,改进了系统UI、更严格的权限,并限制了数据应用程序的使用。
让用户对位置数据有更多的控制权——用户可以通过一个新的权限选项对他们的位置数据有更多的控制权——他们现在可以允许一个应用程序只在应用程序实际使用时访问位置(在前台运行)。对于大多数应用程序来说,这提供了足够的访问级别,而对于用户来说,这在透明度和控制方面是一个很大的改进。
保护网络扫描中的位置数据——大多数用于扫描网络的api已经需要粗定位权限。Android 10增加了对这些api的保护,转而要求良好的位置权限。
防止设备跟踪——应用程序不能再访问可用于跟踪的不可重置设备标识符,包括设备IMEI、序列号和类似标识符。默认情况下,当连接到Wi-Fi网络时,设备的MAC地址也是随机的。
保护外部存储中的用户数据——Android 10引入了一些变化,让用户能够更多地控制外部存储中的文件和其中的应用程序数据。应用程序可以将自己的文件存储在私有沙箱中,但必须使用MediaStore访问共享的媒体文件,并使用系统文件选择器访问新下载集合中的共享文件。
阻止不必要的干扰——Android 10阻止应用程序从背景中启动,意外地跳转到前台并从其他应用程序接管焦点。
安全
Android 10引入了许多特性,通过在加密、平台强化和身份验证方面的进步,使用户更加安全。
存储加密——所有兼容Android 10的设备都需要加密用户数据,为了提高效率,Android 10包括了我们的新加密模式Adiantum。
默认情况下支持TLS 1.3——Android 10默认情况下也支持TLS 1.3,这是对TLS标准的一个重大修订,具有性能优势和增强的安全性。
平台强化——Android 10还包括对平台几个安全关键领域的强化。
改进的Biometrics—Android 10扩展了BiometricPrompt框架,支持被动身份验证方法,如face,并添加了隐式和显式身份验证流。在显式流中,用户必须在身份验证期间显式地确认TEE中的事务。隐式流是为使用被动身份验证的事务设计的轻量级替代方案。Android 10还在需要时改进了设备凭证的备份。
相机和媒体
照片动态深度应用程序现在可以请求一个动态深度图像,它由一个JPEG、XMP元数据(与深度相关的元素相关)和一个嵌入在同一文件中的深度和置信度图组成。动态深度是生态系统的一种开放格式,我们正在与合作伙伴合作,将其引入运行Android 10或更高版本的设备中。
音频播放捕获
现在,任何播放音频的应用程序都可以让其他应用程序使用新的音频回放捕获API捕获其音频流。除了启用标题和副标题之外,该API还允许您支持流行的用例,比如实时流媒体游戏。我们在构建这个新功能时考虑到了隐私和版权保护,因此一个应用程序捕获另一个应用程序的音频的能力受到了限制,从而让应用程序完全控制它们的音频流是否可以被捕获。
新的音频和视频编解码器
Android 10增加了对开源视频编解码器AV1的支持,它允许媒体供应商使用更少的带宽向Android设备传输高质量的视频内容。此外,Android 10支持使用Opus进行音频编码(Opus是一种开放的、免版税的编解码器,针对语音和音乐流媒体进行了优化)和HDR10+在支持Opus的设备上进行高动态范围的视频编码。MediaCodecInfo API引入了一种更简单的方法来确定Android设备的视频呈现能力。对于任何给定的编解码器,都可以获得支持的大小和帧速率列表。
原生MIDI API
对于用c++执行音频处理的应用程序,Android 10引入了一个本地MIDI API,通过NDK与MIDI设备通信。该API允许使用非阻塞读取在音频回调中检索MIDI数据,从而支持对MIDI消息进行低延迟处理。在这里用示例应用程序和源代码试一试。
定向可缩放麦克风
Android 10通过一个新的
MicrophoneDirection API让你对音频捕获有更多的控制。在录制音频时,可以使用API指定麦克风的首选方向。例如,当用户正在拍摄“自拍”视频时,您可以请求前置麦克风进行音频录制(如果存在的话)。此外,这个API引入了控制可缩放麦克风的标准化方法,允许您的应用程序控制录制字段的大小。
Vulkan无处不在
Android 10扩展了Vulkan的影响,我们为高性能3D图形实现了低开销、跨平台的API。Vulkan 1.1现在是所有运行Android 10或更高版本的64位设备的必备版本,也是所有32位设备的推荐版本。我们已经看到了Vulkan在生态系统中的支持势头——在运行Android N或更高版本的设备中,53%的设备支持Vulkan 1.0.3或更高版本。随着Android 10的新要求,我们希望在未来的一年里,Android的应用会进一步提高。
连接
改进的点对点和互联网连接
我们对Wi-Fi堆栈进行了重构,以提高隐私和性能,还改进了一些常见的用例,比如管理物联网设备和建议互联网连接——而不需要位置许可。网络连接api使得通过本地Wi-Fi管理物联网设备变得更加容易,可以实现配置、下载或打印等对等功能。网络建议api允许应用程序在互联网连接方面显示用户更喜欢的Wi-Fi网络。
Wi-Fi性能模式
应用程序现在可以通过启用高性能和低延迟模式来请求自适应Wi-Fi。如果低延迟对用户体验非常重要,比如实时游戏、活动语音呼叫和类似的用例,那么这将是一个巨大的优势。该平台配合设备固件工作,以满足最低功耗的要求。要使用新的性能模式,请使用WIFI_MODE_FULL_LOW_LATENCY或WIFI_MODE_FULL_HIGH_PERF调用WifiManager.WifiLock.createWifiLock()。在这些模式下,平台与设备固件协同工作,以满足功耗最低的要求。
Android基础
ART优化
ART运行时的改进可以帮助您的应用程序启动得更快、消耗更少的内存、运行得更流畅——而不需要您做任何工作。由谷歌Play提供的艺术简介,让艺术在运行之前就预先编译应用程序的部分。在运行时,Android 10在ART的并发复制(CC)垃圾收集器中增加了分代垃圾收集,使垃圾收集在时间和CPU方面更加高效,减少了jank,并帮助应用程序在低端设备上更好地运行。
神经网络API 1.2
我们增加了60个新项目,包括ARGMAX, ARGMIN,量化LSTM,以及一系列的性能优化。这为加速更大范围的模型奠定了基础,比如用于目标检测和图像分割的模型。我们正在与硬件供应商和流行的机器学习框架(如TensorFlow)合作,优化和推出对NNAPI 1.2的支持。
Thermal API
当设备过热时,它们可能会抑制CPU和/或GPU,这可能会以意想不到的方式影响应用程序和游戏。现在在Android 10中,应用程序和游戏可以使用一个热API来监控设备的变化,并采取行动帮助恢复正常温度。例如,流媒体应用程序可以降低分辨率/比特率或网络流量,相机应用程序可以禁用flash或强化图像增强,游戏可以降低帧率或多边形镶嵌。点击这里了解更多内容。
通过公共api的兼容性
Android 10继续扩展对非sdk接口的限制,因此应用程序逐渐转向只使用公共api。如果当前使用的接口受到限制,则可以为该接口请求一个新的公共API。为了帮助您进行转换并防止应用程序崩溃,我们只在您的应用程序针对Android 10 (API 29)时启用这些限制。
更快的更新,更新鲜的代码
Android 10是通过Project Treble为更快的更新而构建的,该项目在Android和来自设备制造商和硅制造商的底层设备代码之间提供了一致的、可测试的接口。通过Treble,设备制造商可以更快、更低成本地将Android 10带到兼容三倍标准的设备上。
Android 10也是第一个支持Project Mainline (官方称为Google Play系统更新)的版本,这是我们用于保护Android用户并通过重要代码更改保持设备新鲜的新技术 - 直接来自Google Play。借助Google Play系统更新,我们可以在运行Android 10及更高版本的所有设备上更新特定的内部组件,而无需设备制造商进行完整的系统更新。
对于开发人员来说,我们希望Android 10中的这些更新能够促进平台实现在不同设备上的一致性,并随着时间的推移带来更大的一致性,从而降低开发和测试成本。