2017年3月26日,谷歌默默的发布了下一代OS的第一个开发者预览版:Android O,毫无悬念这应该就是安卓8.0了!发布之后,用户纷纷表示:我7.0都没升呢,你就出8.0了?提到命名,谷歌从Andriod1.5开始就按字母顺序(C开始)以各种甜品名作为版本号。据猜测,正式版命名很有可能是Oreo(奥利奥),谷歌工程师真的是如此钟爱甜食。
得知发布后,腾讯WeTest立刻在云真机产品中增加了带有安卓O系统的真机,便于同学们第一时间了解新系统,面对未来的开发更加得心应手。
使用步骤
一、登录腾讯质量开放平台:wetest.qq.com
二、选择产品 - 云真机 - 远程调试 - 开始使用
三、在操作系统中选择 Android O,点击机型即刻体验
温馨提示:注册用户即享超长云真机体验,认证用户尊享更多免费服务
“
O的新增功能中,我们根据重要性依次进行了罗列:
1. 后台限制:
Android O在以下三大方面对哪些应用可以在后台运行进行了额外的自动限制:隐式广播、后台服务和位置更新。
多个 Android 应用和服务可以同时运行。 例如,用户可以在一个窗口中玩游戏,同时在另一个窗口中浏览网页,并使用第三个应用播放音乐。 同时运行的应用越多,对系统造成的负担越大。 如果还有应用或服务在后台运行,这会对系统造成更大负担,进而可能导致用户体验下降;例如,音乐应用可能会突然关闭。
为了降低发生这些问题的几率,Android O 对应用在用户不与其直接交互时可以执行的操作施加了限制。 如果应用针对 Android O,那么它会通过以下两种方式受到限制。
后台服务限制:处于空闲状态时,应用可以使用的后台服务存在限制。 这些限制不适用于前台服务,因为前台服务更容易引起用户注意。
广播限制:除了有限的例外情况,应用无法使用清单注册隐式广播。 它们仍然可以在运行时注册这些广播,并且可以使用清单注册专门针对它们的显式广播。
为降低功耗,无论应用的目标 SDK 版本为何,Android O Developer Preview 都会对后台应用检索用户当前位置的频率进行限制。如果您的应用在后台运行时依赖实时提醒或运动检测,这一位置检索行为就显得特别重要,必须紧记。
2、 通知渠道:
Android O 还引入了通知渠道,这是全新的由应用定义的通知内容类别。借助渠道,开发者可以让用户对不同种类的通知进行精细控制,用户可以单独拦截或更改每个渠道的行为,而不是统一管理应用的所有通知。
Android O 还向通知添加了新的视觉效果和分组,从而使用户在收到消息或查看通知栏时更容易看到通知内容。
3、面向专业音频的 AAudio API:
AAudio 是一个全新的原生 API,专门为需要高性能、低延迟音频的应用而设计。使用 AAudio 的应用通过卡片信息流读取和写入数据。在 Developer Preview 中,我们将发布这个新 API 的早期版本,以获取您的反馈。
4、WebView 增强功能:
在 Android Nougat 中,我们针对 WebView 推出了一个可选的多进程模式,其将网页内容处理转移到一个隔离的进程中。在 Android O 中,我们默认启用多进程模式,并添加一个 API,以便让您的应用可以处理错误和崩溃,从而增强安全性和提升应用稳定性。作为进一步的安全措施,您现在可以选择接收应用的 WebView 对象,以通过 Google 安全浏览验证网址。
5、适用于应用的广色域显示
6、适用于手持式设备的 PIP 和新的窗口显示功能
7、Autofill API
8、XML 中的字体资源
9、自适应图标
10、连接
11、键盘导航
“
针对迁移指南,我们汇总了一些以便大家查看:
1、如果您的应用针对 Android O,那么您可能需要更新应用,使其符合新限制。
2、了解您的应用如何使用服务。 如果您的应用依赖某些在它处于空闲时于后台运行的服务,您需要替换这些服务。可能的解决方法包括:
①如果处于后台时您的应用需要创建一个前台服务,请使用新的 NotificationManager.startServiceInForeground() 方法,而不是创建一个后台服务,然后尝试将其推到前台。
②如果服务容易被用户注意,请将其设为前台服务。 例如,播放音频的服务始终应为前台服务。 使用 NotificationManager.startServiceInForeground() 而不是 startService() 创建服务。
③寻找一种使用计划作业实现服务功能的方式。 如果服务未在执行容易立即被用户注意到的操作,一般情况下,您都能够使用计划作业。
④发生网络事件时,请使用 FCM 选择性地唤醒您的应用,而不是在后台轮询。
⑤在应用正常处于前台之前,请推迟后台工作。
3、检查在您应用的清单中定义的广播接收器。 如果您的清单为显式广播声明了接收器,您必须予以替换。可能的解决方法包括:
①通过调用 Context.registerReceiver() 而不是在清单中声明接收器的方式在运行时创建接收器。
②使用计划作业检查条件是否会触发隐式广播。
③为降低功耗,无论应用的目标 SDK 版本为何,Android O Developer Preview 都会对后台应用检索用户当前位置的频率进行限制。
参考:
https://developer.android.google.cn/preview/features/background.html
https://developer.android.google.cn/preview/features/background-location-limits.html
最后谷歌宣称,此次发布的安卓8.0系统毕竟作为第一个开发者预览版还不够不稳定,不太适合普通用户使用,正式版将于今年秋季发布,届时普通用户的体验将会更好。
想要率先体验的用户可以登录:http://wetest.qq.com/product/cloudphone
如在使用中有任何疑问,欢迎联系企业qq:800024531