谷歌在今年3月推出了Android 10.0的首个测试版,昨天,Android 10.0的正式版正式向外发布,而最先尝到新版本的自然是亲儿子Pixel手机。
新特性解读
根据Android官网的介绍,Android 10.0将聚焦于隐私可控、手机自定义与使用效率,此版本主要带来了十大新特性。
创新与新体验
可折叠
基于强大的多窗口支持,Android 10扩展了跨应用程序窗口的多任务处理,并在设备折叠或展开时提供屏幕连续性来维护应用程序状态。有关如何优化可折叠应用程序的详细信息,请参阅开发人员指南。
5G 网络
Android 10承诺提供持续更快的速度和更低的延迟,并增加了对5G的平台支持,并扩展了现有api,以帮助您利用这些增强。您可以使用连接性api来检测设备是否具有高带宽连接,并检查连接是否已计量。有了这些,你的应用程序和游戏可以为5G以上的用户定制丰富的身临其境的体验。
Live Caption
此功能将自动向视频、播客和音频消息添加说明文字。这些说明是实时性和系统性,因此它们不限于特定的应用程序。Live Caption 文本框可以调整大小并在屏幕周围移动。Live Caption 不仅对那些发现自己处于音频无法选择的情况下的用户很有帮助,而且对听力障碍者来说也非常有益。
具体参考 https://youtu.be/YL-8Xfx6S5o
智能回复通知
使用机器学习来预测你在回复信息时可能会说些什么,这项功能在 Android P 中已经有提供,但仅限于谷歌专用的应用程序。Android 10 中,它已经内置到整个通知系统中,并且不仅提供对信息的回复建议,还可以获得建议的操作。比如,如果朋友要你出去吃饭,你的手机会建议你发送回应短信,并且它还会在 Google 地图中直接显示位置信息。此功能也适用于 Signal 等消息应用。
暗黑主题
Android Q 引入的另一项新功能是新系统暗黑主题,它适用于 Android 系统 UI 和 Android 设备上运行的应用。暗黑主题为开发人员带来许多好处,比如能够降低功耗、对于低视力和对强光敏感的用户来说可以提高屏幕内容可见度。
手势导航
引入手势导航后,应用程序不仅可以实现全屏幕的内容显示,还能最大限度地减少系统导航键的可见程度,这对于当下主流的全面屏手机尤为重要。
用户可以从左下角或右下角斜向滑动以启动 Google Assistant 助手,在触发的角落会有相应的 “小手柄” 指示器来作为视觉提示。
另外,团队还为包含导航抽屉(Navigation Drawer)的应用增加了一个名为 peek 的动作:用户轻压屏幕边缘然后再向内划动,便可拉出应用抽屉页面。所有版本的 DrawerLayout 均提供 peek 支持,其中以 DrawerLayout 1.1.0-alpha02 的体验最优。
隐私与安全
隐私是Android 10的核心关注点,从平台中更强的保护到考虑隐私的新功能。在之前版本的基础上,Android 10在保护隐私和给用户控制权方面做了广泛的改变,改进了系统UI,更严格的权限,并限制了数据应用程序的使用。有关如何在应用程序中支持这些功能的详细信息,请参阅Android 10开发人员站点。
位置数据控制
用户可以通过一个新的权限选项更好地控制他们的位置数据——他们现在可以允许一个应用程序只在应用程序实际使用时(在前台运行)访问位置。对于大多数应用程序来说,这提供了足够的访问权限,而对于用户来说,这在透明度和控制方面是一个很大的改进。要了解更多关于位置更改的信息,请参阅开发人员指南或我们的博客文章。
保护网络位置数据
大多数用于扫描网络的api已经需要粗定位权限。Android 10增加了对这些api的保护,转而要求良好的位置权限,具体参考Android 10 保护网络位置数据。
防止设备跟踪
应用程序不能再访问可用于跟踪的不可重置设备标识符,包括设备IMEI、序列号和类似标识符。默认情况下,当连接到Wi-Fi网络时,设备的MAC地址也是随机的。阅读最佳实践,以帮助您为用例选择正确的标识符,并在这里查看详细信息。
保护外部存储数据
Android 10引入了一些变化,让用户可以更好地控制外部存储中的文件和应用程序数据。应用程序可以将自己的文件存储在私有沙箱中,但必须使用MediaStore访问共享的媒体文件,并使用系统文件选择器访问新下载集合中的共享文件。点击链接了解更多。
阻止不必要的干扰
Android 10防止应用程序从后台启动,而后台的应用程序会出人意料地跳到前台,并从另一个应用程序转移注意力。
安全
在Android上,我们一直在评估系统的安全性。通过和第三方的手机安全平台合作,我们分析师研究如Gartner的5月手机操作系统和设备的安全,一个比较的Android平台报告(需要订阅),得分最高的评级在26个30类别,提前在多个点从网络安全身份验证和恶意软件保护。
在Android 10中,我们引入了更多的特性,通过在加密、平台强化和身份验证方面的改进来确保用户的安全。
存储加密
所有兼容Android 10的设备都需要加密用户数据,为了提高安全效率,Android 10使用了我们的新加密模式Adiantum。
TLS 1.3
Android 10默认情况下支持TLS 1.3,这是对TLS标准的一个重大修订,具有性能优势和增强的安全性。
平台硬化
Android 10还包括对该平台几个安全关键领域的增强,以及对BiometricPrompt框架的更新,该框架在隐式和显式身份验证中都提供了对人脸和指纹的健壮支持。点击这里关于Android 10安全更新的信息。
相机与多媒体
照片动态深度
应用程序现在可以请求一个动态深度图像,它由一个JPEG、XMP元数据(与深度相关的元素相关)和一个嵌入在同一文件中的深度和置信度图组成。动态深度是生态系统的一种开放格式,我们正在与合作伙伴合作,将其引入运行Android 10或更高版本的设备中。
音频播放捕获
现在,任何播放音频的应用程序都可以让其他应用程序使用新的音频回放捕获API捕获其音频流。除了启用标题和副标题之外,该API还允许您支持流行的用例,比如实时流媒体游戏。我们在构建这个新功能时考虑到了隐私和版权保护,因此一个应用程序捕捉另一个应用程序的音频的能力受到了限制。请阅读我们的博客文章。
音频和视频编解码器
Android 10增加了对开源视频编解码器AV1的支持,它允许媒体供应商使用更少的带宽向Android设备传输高质量的视频内容。此外,Android 10支持使用Opus进行音频编码,Opus是一种开放的、免版税的编解码器,针对语音和音乐流媒体进行了优化,HDR10+用于支持Opus的设备上的高动态范围视频。
本地MIDI 接口
对于用c++执行音频处理的应用程序,Android 10引入了一个本地MIDI API,通过NDK与MIDI设备通信。该API允许使用非阻塞读取在音频回调中检索MIDI数据,从而支持对MIDI消息进行低延迟处理。在这里用示例应用程序和源代码试一试。
Vulkan
Vulkan 1.1现在是所有运行Android 10或更高版本的64位设备的必备版本,也是所有32位设备的推荐版本。我们已经在生态系统中看到了支持Vulkan的强大势头——在运行Android N或更高版本的设备中,超过半数支持Vulkan 1.0.3或更高版本。随着Android 10的新要求,我们预计在未来的一年里,Android的使用率会进一步上升。
连接优化
改进的点对点和互联网连接
我们对Wi-Fi堆栈进行了重构,以提高隐私和性能,还改进了一些常见的用例,比如管理物联网设备和建议互联网连接——而不需要位置许可。网络连接api使得通过本地Wi-Fi管理物联网设备变得更加容易,可以实现配置、下载或打印等对等功能。网络建议api允许应用程序在互联网连接方面显示用户更喜欢的Wi-Fi网络。
无线模式
应用程序现在可以通过启用高性能和低延迟模式来请求自适应Wi-Fi。如果低延迟对用户体验非常重要,比如实时游戏、活动语音呼叫和类似的用例,那么这将是一个巨大的优势。该平台配合设备固件工作,以满足最低功耗的要求。
系统优化
ART优化
ART运行时的改进可以帮助您的应用程序启动得更快、消耗更少的内存、运行得更流畅——而不需要您做任何工作。由谷歌Play提供的艺术简介,让艺术在运行之前就预先编译应用程序的部分。在运行时,分代垃圾收集使垃圾收集在时间和CPU方面更高效,减少jank,并帮助应用程序在低端设备上更好地运行。
神经网络1.2
我们添加了60个新操作,包括ARGMAX、ARGMIN、量化LSTM,以及一系列性能优化。这为加速更大范围的模型奠定了基础,比如用于目标检测和图像分割的模型。我们正在与硬件供应商和流行的机器学习框架(如TensorFlow)合作,优化和推出对NNAPI 1.2的支持。
更快更流行
通过Android 10,我们将继续专注于更快地将新平台引入设备,与我们的设备制造商和高通(Qualcomm)等硅合作伙伴密切合作。Treble项目发挥了关键作用,帮助我们将18个合作伙伴设备以及8个像素设备纳入今年的Beta测试项目,比去年增加了一倍多。更棒的是,我们预计这些设备将在今年年底前获得官方的Android 10更新,我们正在与几家合作伙伴合作推出其他新的旗舰产品和更新。我们已经看到Android 10的强大势头,在未来的几个月里,将有比以往任何Android版本更多的设备获得这个新版本。
Android 10也是第一个支持Project Mainline(官方名称为谷歌Play system updates)的版本,这是我们的新技术,用于保护Android用户,并通过重要的代码更改保持他们的设备的新鲜——直接来自谷歌Play。通过谷歌播放系统更新,我们可以在所有运行Android 10或更高版本的设备上更新特定的内部组件,而不需要设备制造商进行完整的系统更新。我们希望在接下来的几个月里为消费者设备带来第一次更新。
对于开发人员来说,我们希望Android 10中的这些更新能够促进平台实现在不同设备上的一致性,并随着时间的推移带来更大的一致性,从而降低开发和测试成本。
应用开发跟进Android 10
现在,随着今天Android 10的公开发布和设备更新即将到来,我们要求所有Android开发人员尽快更新您当前的应用程序,以保证兼容性,让您的用户顺利过渡到Android 10。
下面,我们给出开发的几点建议:
Android 10上安装应用
从谷歌Play将当前应用程序安装到运行Android 10或模拟器的像素或其他设备上,然后进行测试。你的应用程序应该看起来很棒,运行良好,功能齐全,并能正确处理Android 10的所有行为变化。观察隐私更改、手势导航、对仿生库的动态链接器路径的更改等方面的影响。
测试Android 10的隐私功能
测试的内容包括新的位置权限、范围存储、对后台活动启动的限制、对数据和标识符的更改等等。要开始查看顶级隐私更改清单,并查看隐私更改文档以了解更多测试领域。
测试受限制的非sdk接口
测试应用程序中的库和sdk
如果发现问题,请尝试更新到最新版本的SDK,或者向SDK开发人员寻求帮助。
更新和发布兼容的应用程序
当您完成测试并进行任何更新时,我们建议您立即发布兼容的应用程序。当用户更新到Android 10时,这将帮助您向他们提供一个平稳的过渡。
让应用程序经过测试并为新版本的Android做好准备,对于整个生态系统中更快的平台更新是至关重要的,所以如果可能的话,请优先考虑Android 10的适配工作。
体验链接
模拟器
https://developer./studio/run/managing-avds.html
Android 10 的各项行为变更
https://developer./about/versions/10/behavior-changes-all
隐私变更
https://developer./about/versions/10/privacy/changes
手势导航
https://developer./guide/navigation/gesturenav
生物验证库的动态链接路径变化
https://developer./about/versions/10/behavior-changes-all#bionic
新的位置权限
https://developer./about/versions/10/privacy/changes#app-access-device-location
分区储存
https://developer./about/versions/10/privacy/changes#scoped-storage
从后台启动 activity
https://developer./about/versions/10/privacy/changes#background-activity-starts
关于数据和设备识别符方面的变更
https://developer./about/versions/10/privacy/changes#data-ids
隐私特性清单
https://developer./about/versions/10/privacy#top-privacy-changes
行为变更文档
https://developer./about/versions/10/privacy/changes
《非 SDK 接口在 Android 10 中的受限情况出现变化》
https://developer./about/versions/10/non-sdk-q
Android 10 新功能和APIs
我们推荐每个应用程序都可以尝试下如下的一些功能:
黑暗主题:通过添加一个dark主题或启用Force dark,为启用系统范围的dark主题的用户提供一致的体验。手势导航:在你的应用程序中支持手势导航,从边缘到边缘,并确保你的自定义手势是系统导航手势的补充。折叠优化:通过优化可折叠设备,为当今的创新设备提供无缝体验。
链接
深色主题https://developer./guide/topics/ui/look-and-feel/darkthemeForce Dark 功能
https://developer./guide/topics/ui/look-and-feel/darktheme#force_dark手势导航
https://developer./guide/navigation/gesturenav针对折叠屏为应用进行优化
https://developer./guide/topics/ui/foldables
除此之外,我们也推荐以下内容:
互动通知:如果您的通知包含消息,请在通知中启用智能回复,以吸引用户并让他们立即采取行动。生物识别技术:如果您使用生物特征验证,请移动到BiometricPrompt,这是在现代设备上支持指纹验证的首选方法。音频播放捕获:要支持字幕或游戏录制,请在应用程序中启用音频回放捕捉功能——这是接触更多用户并使应用程序更易访问的好方法。编解码器:对于媒体应用程序,可以尝试AV1用于视频流,HDR10+用于高动态范围的视频。对于语音和音乐流,可以使用Opus编码,对于音乐家,可以使用本地MIDI API。网络api优化:如果您的应用程序通过Wi-Fi管理物联网设备,请尝试使用新的网络连接api来实现配置、下载或打印等功能。
链接
通知内的智能回复及建议操作https://developer./about/versions/10/features#smart-suggestionsBiometricPrompt
https://developer./training/sign-in/biometric-auth音频回放捕捉功能
https://developer./preview/features/playback-captureAV1
/wiki/AV1Opus
http://opus-/HDR 10+
/wiki/High-dynamic-range_video#HDR10+原生 MIDI API
https://developer./ndk/guides/audio/midi网络连接 API
https://developer./guide/topics/connectivity/wifi-bootstrap
参考链接:
Welcoming Android 10!
android官网
Android 10 开发者官网
Android Studio 3.5 稳定版
按照操作步骤