Android 10 开发亮点有哪些?

640?wx_fmt=gif

640?wx_fmt=gif

极力推荐文章:欢迎收藏

Android 干货分享 640?wx_fmt=gif

和您一起终身学习,这里是程序员Android

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

  1. 创新和新体验亮点

  2. 用户隐私亮点

  3. 安全功能亮点

  4. 相机和多媒体亮点

  5. Connectivity 亮点

本文参考链接如下:https://developer.android.com...

Android 10 围绕三个重要主题构建。Android 10 正在塑造移动创新的领先优势,具有先进的机器学习功能,并支持新兴设备,如可折叠和5G手机。注隐私和安全性,其中近50项功能可为用户提供更好的保护,透明度和控制。(digital wellbeing),因此个人和家庭可以找到更好的技术平衡。

下面介绍Android 10中的开发人员以及今天如何使用它

创新和新体验

借助Android 10,您可以利用最新的硬件和软件创新为用户构建出色的应用体验。

Foldables

基于强大的多窗口支持,Android 10可以跨应用程序窗口扩展多任务处理,并提供屏幕连续性,以便在设备折叠或展开时保持您的应用程序状态。Android 10在onResume和 onPause上添加了许多改进, 以支持多重简历并在焦点有效时通知您的应用。它还会更改 resizeableActivity 清单属性的工作方式,以帮助您管理应用在可折叠和大屏幕上的显示方式。为了帮助您构建可折叠设备,您可以将可折叠模拟器配置为Android Studio中的虚拟设备(AVD)。有关如何针对可折叠程序优化应用程序的详细信息,请参阅 开发人员指南。

640?wx_fmt=png

5G 网络

5G网络提供始终如一的更快速度和更低的延迟,Android 10增加了对5G的平台支持,并扩展了现有的API, 以帮助您利用这些增强功能。您可以使用连接API来检测设备是否具有高带宽连接,并检查连接是否已计量。有了这些,您的应用和游戏可以为5G以上的用户量身定制丰富,身临其境的体验

便捷回复通知 Notification

Android 10使用设备上的ML来建议通知中的上下文操作,例如对消息进行智能回复或打开通知中地址的地图。您的应用可以立即利用此功能,而无需执行任何操作。系统提供的智能回复和操作默认直接插入通知中。如果需要,您仍然可以提供自己的回复和操作。只需使用setAllowGeneratedReplies() 和 setAllowSystemGeneratedContextualActions()在每个通知的基础上选择退出智能回复 。

640?wx_fmt=png

Dark Theme

Android 10增加了系统范围的黑暗主题,非常适合低光照,有助于节省电池电量。用户可以通过转到“设置”或打开“省电模式”来激活新的系统范围的黑暗主题。这会将系统UI更改为黑暗,并启用支持它的应用程序的黑暗主题。您可以为应用程序构建自定义黑暗主题,也可以选择使用新的Force Dark功能,让系统从现有主题动态创建黑暗版本。您可能还希望利用AppCompatDayNight功能为早期版本的Android上的用户提供黑暗主题。有关 更多信息,请参阅开发者指南。

640?wx_fmt=png

手势导航

Android 10引入了完全手势导航模式,消除了导航栏区域,并允许应用程序使用全屏幕来提供更丰富,更身临其境的体验。它通过边缘滑动而不是可见按钮保留熟悉的Back,Home和Recents导航。要与手势导航无缝融合,您应该边缘到边缘,在导航栏后面绘制以创建身临其境的体验。要实现这一点,应用程序应使用 setSystemUiVisibility() API全屏布局,然后 根据需要处理 WindowInsets,以确保不会遮盖重要的UI部分。立即开始优化您的应用,并查看我们的博客文章系列以获取更多信息。

640?wx_fmt=png

快捷分享功能

共享快捷方式使分享更快捷,让用户直接跳转到另一个应用程序以共享内容。开发人员可以发布在其应用中添加内容的特定活动的共享目标,并在共享UI中向用户显示这些目标。因为它们是预先发布的,所以共享UI在启动时会立即加载。共享快捷方式类似于应用程序快捷方式,并使用相同的ShortcutInfo API。ShareTarget AndroidX库也支持API。有关详细信息,请参阅示例应用

640?wx_fmt=png

用户隐私

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

640?wx_fmt=png

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

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

防止设备跟踪 - 应用程序无法再访问可用于跟踪的不可重置设备标识符,包括设备IMEI,序列号和类似标识符。默认情况下,设备的MAC地址在连接到Wi-Fi网络时也会随机化。阅读最佳实践以帮助您为用例选择正确的标识符,并在此处查看详细信息 。

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

阻止不必要的中断 - Android 10阻止应用程序从背景中启动,意外地跳转到前台并从其他应用程序接管焦点。在这里了解更多 。

安全

Android 10引入了许多功能 ,通过加密,平台强化和身份验证的进步,使用户更加安全。了解更多关于这里的Android 10的安全更新。

存储加密 - 所有使用Android 10启动的兼容设备都需要加密用户数据,为了提高效率,Android 10还包括我们新的加密模式Adiantum

默认情况下为TLS 1.3 - 默认情况下,Android 10还支持TLS 1.3,这是对TLS标准的重大修订,具有性能优势和增强的安全性。

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

改进的生物识别技术 - Android 10扩展了 BiometricPrompt框架,以支持面部等被动身份验证方法,并添加隐式和显式身份验证流程。在显式流程中,用户必须在身份验证期间明确确认TEE中的事务。隐式流程设计用于具有被动身份验证的事务的轻量级替代方案。Android 10还可在需要时改进设备凭据的后备。在这里了解更多 。

camera 与 多媒体

照片的动态深度

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

640?wx_fmt=png

音频的获取与播放

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

新增音频 视频解码器

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

引入原生 MIDI API

对于使用C ++执行音频处理的应用程序,Android 10引入了 原生MIDI API,通过NDK与MIDI设备进行通信。此API允许使用非阻塞读取在音频回调内检索MIDI数据,从而实现MIDI消息的低延迟处理。试试这里的示例应用程序和 源代码。

客制化麦克风

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

随处可用的Vulkan

Android 10 通过 我们为高性能3D图形实现低开销,跨平台API,扩展了Vulkan的影响。Vulkan 1.1现在是运行Android 10及更高版本的所有64位设备的要求,并且建议所有32位设备使用。我们已经看到生态系统中Vulkan支持的重要动力 - 在运行Android N或更高版本的设备中,53%支持Vulkan 1.0.3或更高版本。随着Android 10的新要求,我们预计未来一年的采用率将进一步提升。

Connectivity

优化点对点互联网链接

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

wifi 性能优化模式

应用程序现在可以通过启用高性能和低延迟模式来请求自适应Wi-Fi 。这些对于低延迟对用户体验很重要(例如实时游戏,主动语音呼叫和类似用例)来说是一个很大的好处。该平台与设备固件配合使用,以最低的功耗满足要求。要使用新的性能模式,请 使用或调用WifiManager.WifiLock.createWifiLock()。在这些模式下,平台与设备固件配合使用,以最低功耗满足要求。WIFI_MODE_FULL_LOW_LATENCYWIFI_MODE_FULL_HIGH_PERF

Android 基础

ART 优化

ART运行时的改进可以帮助您的应用程序更快地启动,消耗更少的内存,并且运行更顺畅 - 无需您的任何工作。 Google Play提供的ART配置文件允许ART在应用程序运行之前预编译部分应用程序。在运行时,Android 10为ART的并发复制(CC)垃圾收集器添加了Generational Garbage Collection,使垃圾收集在时间和CPU方面更加高效,减少了垃圾收集,并帮助应用程序在低端设备上更好地运行。

640?wx_fmt=png

神经网络API 支持V1.2

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

温度监测 API

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

兼容 公共API 接口

Android 10继续扩展对非SDK接口的限制,因此应用程序逐渐转向仅使用公共API。如果您当前使用的接口受到限制,则可以为该接口请求新的公共API 。为了帮助您进行转换并防止您的应用被破坏,我们仅在您的应用定位到Android 10(API 29)时启用限制。有关限制的更多详细信息,请参阅 开发人员指南。

更新更快,新鲜出炉的Code

Android 10专为通过Project Treble进行更快速更新而构建,可在Android与设备制造商和芯片制造商的底层设备代码之间提供一致,可测试的界面。通过Treble,设备制造商可以更快速,更低成本地将Android 10带入符合Treble标准的设备。

Android 10也是第一个支持Project Mainline (官方称为Google Play系统更新)的版本,这是我们用于保护Android用户并通过重要代码更改保持设备新鲜的新技术 - 直接来自Google Play。借助Google Play系统更新,我们可以在运行Android 10及更高版本的所有设备上更新特定的内部组件,而无需设备制造商进行完整的系统更新。

对于开发人员,我们希望Android 10中的这些更新有助于推动各种设备之间的平台实施的一致性,并且随着时间的推移带来更大的一致性,这将降低您的开发和测试成本。

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

640?wx_fmt=png

坚持就有惊喜

posted @ 2019-09-14 11:34  程序员Android的博客  阅读(118)  评论(0编辑  收藏  举报