【荐读】 Android 8.0 推出,作为跟着Google 搞开发的我们当然是跟着亲爸爸走,了解新版本的特性,做好版本兼容是作为Android开发工作者的天职,吃了这块olio
原文链接:http://www.jianshu.com/p/9e3999c00cdb
历经一年多的开发和数月以来开发者与早期用户的反复测试,Android 8.0 Oreo 终于正式面向全球发布。Android 8.0 为用户带来了诸如画中画 (Picture in picture)、自动填充 (Autofill)、免安装应用 (Instant Apps)、Google Play 保护机制 (Google Play Protect) 以及更快的启动时间等诸多新功能。
我们会在今天向 Android 开放源代码项目(AOSP)的每一位用户推送源代码。Pixel 和 Nexus 5X / 6P 的系统推送已经进入运营商测试环节,预计能够在接下来的几周内逐步完成,Pixel C 和 Nexus Player 的推送也会同步进行。参与 Android 测试的用户今天会收到最终版本的升级推送,镜像文件现已可供下载,支持手动刷入。几个月以来我们一直在与合作伙伴共同努力:截至今年年底,包括 Essential、华为、HTC、京瓷、摩托罗拉、HMD 诺基亚、三星、夏普以及索尼在内的一众硬件厂商,都计划将他们旗下的设备升级至 Android 8.0 Oreo 。
Android Oreo 有何特点?
Android 8.0 Oreo 的宗旨是提供流畅的体验,让 Android 更加强大且易用:
画中画 (Picture-in-picture)功能让用户能够以任意窗口大小同时进行两项任务的操作,该功能的 App 适配也很简单。(如以下图片所示)
通知标志 (Notification dots)使得通知的概念得以延伸,为应用的互动提供更多可能。对大多数应用来说,这一功能会自动实现,Android 甚至会根据应用图标的颜色自动选择通知标识的颜色。
自动填充框架 (Autofill framework)简化了用户设置一台新设备以及同步密码的过程。需要用到表格数据的应用可为自动填充框架进行优化,密码管理应用通过新的 API 接口,能够让用户在自己最喜欢的应用中使用密码自动填充服务。自动填充功能将会在接下来的几周中,随同 Google Play的服务进行升级。
我们同样也在 Android Vitals 上深耕,这一项目通过给予开发者更具可视化的应用数据,来帮助优化电池寿命,缩短启动时间,提高图形渲染效率和稳定性:
系统优化:我们通过系统底层优化使得应用运行更迅速且流畅。试举一例:应用运行时,通过新的并发压缩垃圾回收机制 (concurrent compacting garbage collection) ,代码局域化 (code locality) 以及其他一些方式优化其体验。
后台限制:我们对在后台拿取位置和 Wi-Fi 扫描增加了限制,并改变了应用在后台的运行模式。这些限制能够避免被动的电量和内存流失,而且对所有应用都适用 —— 要确保您了解这一点,并在应用中进行说明。
备有多种功能的 Android Vitals 信息中心以及集成开发环境分析器(IDE profilers):在 Play 控制台中,现在看到您应用的数据汇总,这些数据能够帮助您发现一些常见问题。数据包括超常的应用崩溃率,应用程序无响应率,框架卡死时间,慢速渲染耗时,过度唤醒等等。您也能够在 Android Studio 3.0 中找到新的性能分析器,以及新的仪表布局。
如上图所示,在 Android 8.0 中,可以直接为应用内的某个功能设置快捷方式并固定在桌面启动器中
如上图所示,通知表示能够让用户保持应用内活动,并直接让他们跳转到应用的核心功能当中
Android Oreo 同时也为开发者准备了许多新功能,助其提升效率,开发出更好的 App。那么有些什么新功能呢?
自动调整 TextView 的文字大小:
Android Oreo 8.0 允许开发者自定义 TextView 实现文本内容自动调整字体大小以适应 TextView 大小,各种文本长度均适用。开发者须预设一系列文本大小,或者设定出最大最小值(两值之间须设固定数字间隔),这样文本都就能根据 TextView 的大小自动展开或收缩。
XML 中的字体资源:
Android O 中已充分支持 Fonts 字体资源类型,允许开发者直接在 XML 布局中访问字体并定义字体系列。
可下载字体和表情:
Android 8.0 允许开发者从共有供应商获取可下载字体资源,而无需将字体绑定到 APK 中。供应商和 Android 支持库负责下载字体,并将这些字体分享到各个 App 中。同样的操作也可用于获取表情资源,让您的开发不再止步于设备内置表情包。
这项功能帮助开发者更好地使用设备用户界面,创建自适应图标,根据设备厂商选定的不同模板,系统显示图标形状会有所改变。系统还添加了与图标的交互动画,置于启动器、快捷方式、设置、共享对话框和概览屏幕当中。
自适应图标可在不同设备型号上显示为各种不同的形状
快捷方式锁定:
App 快捷方式和桌面小部件是吸引用户的利器。从 Android 8.0 Oreo 开始,用户能够在应用内添加和锁定快捷方式至启动器。与此同时,新系统还支持添加特定活动,帮助用户创建快捷方式,该活动需要通过自定义选项并经过用户同意才可完成。
支持更广域应用的颜色:
Android 图像应用可以充分利用新设备带来的广域色彩支持,显示宽色域图像。应用程序将需要在其清单文件(每个活动)启用一个标志,加载启用宽位图嵌入颜色配置文件(如 AdobeRGB,Pro Photo RGB,DCI-P3 等)。
WebView 网页视图:
Android 8.0 Oreo 默认开启 WebView 多进程模式,新增 API 控制应用处理错误和崩溃,增强安全性和提升应用稳定性。为了进一步提高安全措施,开发者可以选择通过 Google Safe Browsing 来对自己应用内 WebView 的 URL 来进行安全检查。
Java 8 语言 APIs 和 runtime 的优化:
Android 现在支持几种新的 Java 语言 API,包括新的 java.time API。另外 Android Runtime 相比以前更快,在某些基准测试程序中可以提升多达 2 倍。
想要进一步了解以上功能,或者获知其他新功能讯息,请前往developer.android.google.cn,并参阅链接中的 Android 8.0 Oreo 官方网站。
确保您的 App 已经准备就绪
如果您还没有准备好,还请花些时间对您的 App 进行测试,确保用户升级 Android 8.0 Oreo 后,能继续流畅使用您的 App。
请通过 Google Play 将您现在 App 下载到任何一台运行 Android 8.0 Oreo 系统的设备或者模拟器中。App 应该运行顺利,图像显示良好,完美应对系统升级后的各项行为变化。
您需要特别注意以下几点:
后台位置限制
通知分类通道
网络变换
安全变化
标识码更改。
一旦对 App 做出更改,解决问题之后,请通过 alpha、beta 或者正式版本渠道,在 Google Play 上发布相应更新,保证更新到 Android 8.0 Oreo 的用户能够继续使您的 App。
借助 Android Studio,加快开发进程
当您准备用 Android 8.0 Oreo 提供的新 API 进行开发时,我们建议升级到最新版本的 Android Studio 3.0 (现已发布 beta 测试版)。该版本具备更强大的 App 性能评测工具,支持 Kotlin 编程语言、Gradle 构建优化、Instant App 功能,XML 字体资源、可下载字体以及自适应图标。
如上图所示,通过 Android Studio 3.0 内置的小工具,开发者可以边开发边享受 Android 8.0 Oreo 功能,比如说在自己开发的 App 中预览 XML 中的字体资源。
此外,我们也推荐开发者升级到 Android 支持库 26.0.2(可前往 Google’s Maven repository 下载)。同时可前往 SDK Manager 跟新 SDK 管理工具和模拟器所需图像。
如果您才刚刚开始在 Android 8.0 Oreo 上进行开发,请先阅读《Android O 迁移指南》,了解所须相关步骤和配置变化。
向 Google Play 提交您的新版应用
Google Play 现在向以 API 等级 26 为目标编译的应用开放。准备妥当后,您可以通过 alpha、beta 或者正式版本渠道提交升级。
请确保升级后的应用能够在 Android Oreo 以及其他版本的 Android 上均能良好运行。推荐使用 Google Play beta 测试,先获取少量用户的反馈,然后再行正式推送。我们非常期待各位的应用升级!
Android Oreo 的下一步?
我们即将关闭开发者预览版的问题追踪器(issue tracker),但请诸位继续保持反馈!现在您可以通过 AOSP 问题追踪器(issue tracker)来反馈 Android 8.0 中的问题。
再次感谢众多参与 Android O 开发者预览版和公测版本中的开发者和早期用户。你们提供了宝贵的反馈,反映出来的问题将会帮助我们将 Android Oreo 打造成一个优质的平台。