Android 10正式版发布

在美国时间9月3日,谷歌发布了Android 10正式版,经过了一年多的开发和早期使用者的数个月的测试,Android

 10正式版终于发布了。

Android10的亮点

 Android 10主要有三大亮点

  1. Android 10走在移动创新技术的前沿,具有先进的机器学习技术,同时也支持新兴设备,例如折叠屏设备和5G设备。
  2. Android 10主要提升了隐私性和安全性,使用了接近50项技术为用户提供更好的保护,透明度和控制。
  3. Android 10扩展了用户的数字福利(digital wellbeing)控制,那么用户和家庭都可以使用技术来找到更好的平衡点。

下面介绍需要开发者关注的Android 10中的技术以及如何使用。

创新和新体验

借助Android 10,作为开发者可以使用最新的硬件和软件技术来为用户构建更好体验的应用。

Foldables(折叠屏)

基于强大的多窗口支持,Android 10扩展了跨应用程序窗口的多任务处理,还提供屏幕连续性以便在设备折叠或展开时保持应用程序状态。Android 10在Activity的onResume和 onPause上添加了许多改进以支持multi-resume,并在获取焦点时通知应用。它还会更改resizeableActivity 清单属性的工作方式,当应用在可折叠和大屏幕上的显示时方便管理。现在Android Studio的AVD管理器已经可以创建折叠屏设备,可以下载iSystem Imagel后来创建并体验折叠屏。关于如何在折叠屏设备上对应用的显示进行优化可以参考开发人员指南

折叠屏显示

5G网络

5G网络提供了更快速度和更低的延迟,Android 10增加了对5G网络的支持,并扩展了现有的API, 以便利用这些增强的功能。例如:可以使用连接API来检测设备是否具有高带宽连接和检查连接是否已是计量的。有了这些功能,应用和游戏可以针对5G或以上的用户提供更好的体验。

通知中的智能回复

Android 10使用 on-device ML(设备内机器学习系统https://research.googleblog.com/2017/02/on-device-machine-intelligence.html)来建议通知中的上下文操作,例如对消息进行智能回复或打开通知中地址的地图。开发者的应用可以不用做任何其他的操作就可以使用这个功能。系统提供的智能回复和操作会直接在通知中显示。如果需要的话应用仍然可以提供自己的回复和操作。只需使用setAllowGeneratedReplies() 和setAllowSystemGeneratedContextualActions()就可以在通知上选择不显示智能回复和系统提供的上下文操作。

通知智能回复

通知的智能回复

黑暗主题

Android 10添加了系统级的黑暗主题,这是低亮度环境下的很好的一个选择,也有助于节省电磁电量。用户可以在系统的“设置”中或打开“省电模式”来激活系统级的黑暗主题。这将会使系统的UI变黑,如果应用支持黑暗主题也会同时改变为黑暗主题。开发者可以为应用创建自定义的黑暗主题,或者选择使用新的Force Dark功能,让系统从现有主题中动态创建。现在也可以利用 AppCompat的DayNight来创建黑暗主题以适配早期版本上的Android用户。有关更多信息可以参考开发者指南

Android 10中的Force Dark动态创建的黑暗主题

手势导航

Android 10提供了完全的手势导航模式,不仅移除了导航栏,而且允许应用程序使用全屏幕,提供更丰富和更身临其境的体验。它通过边缘滑动而不是按钮实现了Back,Home和Recents功能。要与手势导航无缝结合,应用应该实现edge-to-edge(全屏幕显示并且在导航栏后面绘制内容(导航栏透明)。要实现这一点的话,应用需要使用setSystemUiVisibility()  API实现全屏布局,然后根据需要处理WindowInsets(刘海屏),以确保不会遮盖重要的UI部分。参考手势导航文档开始优化应用,可以查看博客文章获取更多信息。

手势导航

设置面板

现在可以通过新的设置面板API直接在应用程序中显示关键系统设置。设置面板是一个浮动UI,可以调用该UI来显示用户可能需要的设置,例如Internet连接,NFC和音量。例如,浏览器可以显示具有连接设置的面板,如飞行模式,Wi-Fi(包括附近的网络)和移动数据。要显示设置面板,只需使用设置面板的任意Action打开Intent即可。

分享快捷方式

分享快捷方式使分享更快捷,更方便,可以让用户直接跳转到另一个应用程序进行内容的共享。开发人员可以发布分享目标(在内容被添加后会启动一个特殊的Activity),在共享UI中会向用户进行显示这个分享目标。因为它们是预先发布的,所以共享UI在启动时会立即加载。共享快捷方式类似于应用程序快捷方式,而且它们使用相同的ShortcutInfo API。ShareTarget AndroidX库也支持这个API。可以参考示例应用来获取更详细的信息。

分享快捷方式

 

用户隐私

用户隐私是Android 10的重点,从平台中更强的保护到设计时的新功能都在关注着隐私。在之前的版本基础上,Android 10包含大量更改以保护隐私并为用户提供更多控制,包括了改进了系统UI,更严格的权限和应用程序对数据使用的限制。关于在应用中如何支持这些内容的详细信息,可以参考隐私权更改

让用户更好地控制位置数据 - 用户可以通过新的权限选项更好地控制他们的位置数据 - 用户现在可以允许应用仅在应用实际使用时(在前台运行)访问位置。对于大多数应用程序而言,这提供了足够的访问级别,而对于用户而言,它在透明度和控制方面有了很大的改进。要了解有关位置更改的更多信息,可以参考开发人员指南 或博客文章

使用定位权限时提醒框

保护网络扫描中的位置数据 - 扫描网络的大多数API都需要粗略的位置权限。在Android 10中通过需要精确的位置权限来增加对这些API的保护。

防止设备跟踪 - 应用程序无法再访问可用于跟踪的不可重置设备标识符,包括设备IMEI,序列号和类似的标识符等等。默认情况下,设备的MAC地址在连接到Wi-Fi网络时也会随机变化。可以参考这个文档来选择正确的标识符,也可以参考这个链接查看更详细信息 。

保护外部存储中的用户数据 - Android 10引入了许多更改,使用户可以更好地控制外部存储(SD)中的文件及其中的应用程序数据。应用程序可以将自己的文件存储在其私有沙箱中,但必须使用MediaStore访问共享媒体文件,并使用系统文件选择器访问新的Downloads集合中的共享文件。可以参考这个链接了解更多信息 。

阻止不必要的中断 - Android 10中阻止应用程序从后台启动,可以防止后台应用跳转到前台或打开页面。参考这个链接了解更多信息 。

安全

Android 10引入了许多功能来保证用户更加安全 ,例如通过加密,平台强化和身份验证。可以点击这个链接了解更多关于Android 10的安全更新。

存储加密 - 所有使用Android 10的设备都需要加密用户数据,Android 10包括了新的加密模式Adiantum,大大提高了加密效率。

默认使用TLS 1.3 - Android 10及更高版本中,默认情况下为所有TLS连接启用TLS 1.3,TLS 1.3是TLS标准一个重要版本,具有性能优势和更强的安全性

平台强化 - Android 10还包括了对平台的几个安全关键领域的强化

改进的生物识别技术 - Android 10BiometricPrompt 框架进行了更新。点击这个链接了解更多信息。

 

相机和媒体

照片的动态深度

应用程序现在可以请求动态深度图像,该图像由JPEG和与深度相关元素相关的XMP元数据以及嵌入在同一文件中的深度和置信图组成。这些可让您在应用中提供专业的模糊和散景选项。Dynamic Depth是生态系统的开放格式,我们正在与合作伙伴合作,将其引入运行Android 10及更高版本的设备。

  

Dynamic Depth

音频播放捕获

现在,任何播放音频的应用都可以让其他应用使用新的音频播放捕获API捕获其音频流 。除了支持字幕和说明文字外,API还支持游戏录制和流媒体。我们在构建此新功能时考虑到了隐私和版权保护,因此应用程序捕获其他应用程序音频的能力受到限制,使应用程序可以完全控制是否可以捕获其音频流。可以参考这个博客文章了解更多内容。

新的音视频编解码器

Android 10增加了对开源视频编解码器 AV1的支持,它让媒体提供商使用更少的带宽将高质量的视频内容传输到Android设备。此外,Android 10支持Opus编码器(一个针对语音和音乐流优化的开放式,免版税编解码器)和 HDR10 +( high dynamic range video)。MediaCodecInfo API 引入了一个更简单的方法来确定Android设备视频渲染的能力。对于任何给定的编解码器,您可以获得支持的大小和帧率列表。

Native MIDI API

对于需要使用C ++执行音频处理的应用程序,Android 10引入了 Native MIDI API,通过NDK与MIDI设备进行通信。此API允许使用非阻塞的方式读取在音频回调内检索MIDI数据,从而实现MIDI消息的低延迟处理。可以参考这个示例应用程序的源码

定向,可缩放的麦克风

Android 10通过新的MicrophoneDirection API 提供对音频捕获的更多控制 。可以使用这个API​​在录制音频时指定麦克风的首选方向。例如,当用户“自拍”视频时,可以请求前置麦克风进行录音(如果存在)。此外,该API引入了一种控制可缩放麦克风的标准化方法,允许您的应用程序控制记录字段维度

普及Vulkan

Vulkan 是用于绘制高性能 3D 图形的低开销、跨平台 API,Android 10中更好的体现了这一点。运行Android 10及更高版本的所有64位的设备要求Vulkan 1.1,并且建议所有32位设备使用。

 

连接

改进了点对点和互联网连接

我们重构了Wi-Fi栈以改善隐私和性能,还改进了管理物联网设备和网络建议等情况,而无需获得位置许可。通过网络连接API, 可以更轻松地通过本地Wi-Fi管理物联网设备,实现配置,下载或打印等点对点功能。而网络建议的API允许应用显示给用户优选的Wi-Fi网络来连接到互联网。

Wi-Fi性能模式

应用程序现在可以启用高性能和低延迟模式来请求自适应Wi-Fi 。这是一个对于需要低延迟的用户(例如实时互动游戏,语音通话等类似情况)来说是一个很好的功能。要使用新的性能模式,使用WifiManager.WifiLock.createWifiLock() 方法并结合WIFI_MODE_FULL_HIGH_PERF或WIFI_MODE_FULL_LOW_LATENCY

 

Android底层

ART优化

ART运行时的改进:可以帮助应用程序更快地启动,消耗更少的内存,并且运行更顺畅(无需开发者任何操作)。Google Play提供的ART配置文件允许ART在应用程序运行之前预编译部分应用程序。在运行时,Android 10为ART 的并发复制垃圾收集器 (Concurrent Copying Garbage Collector) 中添加了分代收集机制 (Generational Garbage Collection),垃圾回收速度和 CPU 利用效率有了明显提升,在减少垃圾的同时,让应用可以在低端设备上更流畅地运行

ART 配置文件对应用的启动时间改善百分比。

神经网络API 1.2

增加了60个新操作,包括ARGMAX,ARGMIN,量化LSTM,以及一系列性能优化。这为加速创建更大的模型奠定了基础 - 例如用于物体检测和图像分割的模型。我们正在与硬件供应商和流行的机器学习框架(如TensorFlow)合作,以优化和推出对NNAPI 1.2的支持。

Thermal API

当设备过热时,可能会采取限制CPU或GPU的方式来降低温度,这会影响应用和游戏的运行性能。在Android 10中,应用和游戏可以使用thermal API 来监控设备的变化,并采取措施帮助恢复正常温度。例如,流式应用可以采取降低分辨率/比特率或网络流量的方式,相机应用可以禁用闪光或强化图像增强的方式,游戏可以降低帧速率或多边形细分的方式。可以在这个链接阅读更多。

使用公共API

Android 10继续加强对非SDK接口的限制,因此应用尽量仅使用公共API。如果您当前使用的接口受到限制,则可以为该接口请求新的公共API 。为了防止应用崩溃,我们仅在应用的targetSdk是Android 10(API 29)时启用此限制。有关限制的更多详细信息,请参阅 开发人员指南

有关Android 10的完整开发者资源,可以访问https://developer.android.com/about/versions/10

发布了53 篇原创文章 · 获赞 17 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jklwan/article/details/100533425