面向开发者的 Android 8.0 Oreo 详细介绍

面向开发者的 Android 8.0 Oreo 引言

经过一年多的开发和测试,开发人员和早期采用者(谢谢!),我们现在准备正式推出Android 8.0 Oreo到世界各地。 Android 8.0带来了许多伟大的功能,如图片,自动填充,集成即时应用程序,Google Play保护,更快的启动时间等等。

我们正在将源代码推向Android开放源代码项目(AOSP)供大家访问。 Pixel和Nexus 5X / 6P版本已经进入了运营商测试,我们预计在接下来的几个星期内,Pixel C和Nexus Player将分阶段推出。 Android测试版用户将会收到今天的最终版本的更新,并且可以手动下载和刷系统。 在过去的几个月里,我们一直与合作伙伴密切合作,到今年年底,硬件厂商如Essential,华为,HTC,京瓷,LG,摩托罗拉,诺基亚手机的HMD全球之家,三星,夏普和索尼 计划将新设备推出或升级到Android 8.0 Oreo。

什么是Android Oreo?

在Android 8.0 Oreo中,我们专注于创造流畅的体验,使Android更加强大,易于使用,下面会具体介绍:

画中画可让用户在任意尺寸的屏幕上同时管理两项任务,而且应用程序可轻松支持。 (如下图)

这里写图片描述

通知点扩展了通知的覆盖范围,并提供了一种新的方式来展现您的应用程序中的活动。 通知点能够轻松应对大部分APP - 我们甚至从图标中提取点的颜色。

自动填充框架简化了用户设置新设备并同步密码的步骤。 使用表单数据的应用程序可以优化其自动填充应用程序,密码管理器应用程序可以使用新的API将他们的服务提供给他们最喜欢的应用程序中的用户。 作为Google Play服务更新的一部分,Autofill将在未来几周内全面展开。

我们还开启了一项专注于优化电池寿命,启动时间,图形渲染和稳定性的项目,同时让开发人员更好地了解应用程序的健康状况。主要包括以下的方面。

系统优化:我们跨系统工作,帮助应用程序运行得更快更流畅 。 例如,在运行时,我们添加了一个新的并发压缩垃圾回收,代码区域等。

背景限制:我们为后台运行的背景位置和Wi-Fi扫描以及更改方式添加了新的限制。这些边界可防止意外过度使用电池和内存,并适用于所有应用程序 。确保您了解并在应用程序中对这些进行了说明。

互补的Android Vitals仪表板和IDE分析器:在播放控制台中,您现在可以查看有关应用程序的汇总数据,以帮助您精确定位常见问题 :过度崩溃率,ANR比率,冻结帧,渲染缓慢,唤醒过多等。您还将在Android Studio 3.0中找到新的性能分析器,并在平台中找到新的仪器。


这里写图片描述
这里写图片描述

(说明)在Android 8.0中,您的应用可以直接在启动器中固定一个特定的应用快捷方式来驱动互动(左图)。

通知点让用户在您的应用程序中处于活动状态,并让他们直接跳转到应用程序的核心功能(右图)。

对于开发人员,Android Oreo包含许多新功能。

可帮助您构建更好,更高效的应用程序。这里仅仅是少数功能:

自动调整textview:使用自动调整TextView可以自动填充TextView文本,而不管数量。您可以创建预设文本大小的数组,或者以逐步的粒度设置最小和最大大小,并且文本将增长和缩小以填充可用的TextView空间。

XML中的字体:字体现在是完全支持的资源类型。您现在可以在XML布局中使用字体,并以XML定义字体系列。

可下载的字体和表情符号:使用可下载的字体,您可以从共享提供程序加载字体,而不是将其包含在您的APK中。提供商和支持库管理字体的下载并在应用程序之间共享它们。相同的实现也支持可下载的表情符号,所以您可以获得更新的表情符号,而不限于内置于设备中的表情符号。

自适应图标:您现在可以根据设备制造商选择的遮罩创建系统以不同形状显示自适应图标。该系统还可以动画化与图标的交互,并在启动器,快捷方式,设置,共享对话框和屏幕中使用它们。

这里写图片描述
这里写图片描述

(说明)自适应图标以不同的设备型号显示各种形状。

快捷方式固定:应用程序快捷键和主屏幕小部件非常适合吸引用户,现在您可以让用户从您的应用程序中添加并将快捷键和小部件插入启动器。还有一个新的选项来添加专门的Activity来帮助用户创建快捷方式。该活动完成了自定义选项和确认。

应用程序的宽色域颜色:成像应用程序现在可以充分利用具有广域色彩显示的新设备。为了显示宽色域图像,应用程序在其Manifest(每个活动)中启用一个标志,并使用嵌入的宽色配置文件(AdobeRGB,Pro Photo RGB,DCI-P3等)加载位图。

WebView增强功能:在Android Oreo中,我们默认启用了WebView多进程模式,并添加了一个API,让您的应用程序处理错误和崩溃。您还可以选择通过Google安全浏览验证网站的WebView对象。

Java 8语言API和运行时优化:Android现在支持多种新的Java语言API,包括新的java.time API。此外,Android Runtime比以往任何时候都更快,在某些应用程序基准上可以提高到两倍。

确保您的应用程序已准备就绪

如果还没有,今天要花一点时间测试您的应用程序,并确保他们提供了升级到Android Oreo之后用户所需的体验。

只需将您当前的应用从Google Play安装到运行Android Oreo的设备或模拟器上,并测试用户流。 应用程序应该运行和看起来正常,并且正确处理Android Oreo行为的变化。 特别要注意背景位置限制,通知通道以及网络,安全性和标识符的变化。

一旦解决了任何问题,您就可以在alpha,beta或者生产渠道中发布应用程式更新到Google Play,以便用户开始接收Android 8.0 Oreo。

使用Android Studio加快开发速度

当您准备在Android Oreo中使用新的API构建应用时,我们建议您更新到最新版本的Android Studio 3.0,可从beta版渠道下载。 除了改进的应用程序性能分析工具,支持Kotlin编程语言和Gradle构建优化之外,Android Studio 3.0还可以使用即时应用程序,XML字体,可下载字体和自适应图标进行开发。

这里写图片描述

(说明)Android Studio 3.0包括使用Android Oreo功能开发的工具,例如在您的应用程序中预览XML字体资源。

我们还建议您更新到现在可从Google的Maven存储库获得的Android支持库26.0.2以及SDK Manager中提供的最新的SDK,工具和仿真器系统映像。

如果您刚刚开始构建Android Oreo,请先阅读迁移指南。 它可以概述您需要做的过程和配置更改。

要针对官方的Android 8.0 API进行编译,请将项目的compileSdkVersion更新为API 26.我们还建议您将应用程序的targetSdkVersion更新为API 26,以使用Android Oreo特定的行为更改来选择和测试应用程序。 有关如何使用Android Oreo构建环境的详细信息,请参阅迁移指南。

发布您的更新到Google Play

Google Play适用于针对API 26编写的应用程序。准备好后,您可以在Alpha,Beta或生产渠道中发布APK更新。

确保您的更新的应用程序在Android Oreo以及旧版本上运行良好。 我们建议您使用Google Play的beta测试功能,从一小群用户那里获得早期反馈,然后进行分阶段推出。 我们期待看到您的应用更新!

Android Oreo的下一步是什么?

我们即将关闭“开发者预览”问题追踪器,但请保留反馈! 您可以在AOSP问题跟踪器中针对Android 8.0提出新问题。

再次感谢参与Android O开发者预览和公开测试版的许多开发人员和早期采用者。 您给了我们很好的反馈,并提交了数百个问题,帮助我们使Android Oreo平台成为消费者和开发人员的最佳选择。

推荐阅读更多精彩内容