谷歌大开“吃”戒的产物,Andriod O全球发布

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系统毕竟作为第一个开发者预览版还不够不稳定,不太适合普通用户使用,正式版将于今年秋季发布,届时普通用户的体验将会更好。

✬如果你喜欢这篇文章,欢迎分享到朋友圈✬

关于腾讯WeTest

腾讯WeTest是腾讯游戏官方推出的一站式游戏测试平台,用十年腾讯游戏测试经验帮助广大开发者对游戏开发全生命周期进行质量保障。 腾讯WeTest提供:兼容适配测试;云端真机调试;安全测试;耗电量测试;服务器压力测试;舆情监控等服务。

原文发布于微信公众号 - 腾讯WeTest(TencentWeTest)

原文发表时间:2017-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏无题

高并发商品详情页构建

* 主要思路: 1、数据变更还是通过MQ通知; 2、数据异构Worker得到通知,然后按照一些维度进行数据存储,存储到数据异构JIMDB集群(JIMDB:Re...

50860
来自专栏SDNLAB

ODL Lithium SR2版本Entity Ownership Service分析及OFplugin规模部署可用预测

家好,我是盛科网络负责sdn研发的张东亚,作为sdn设备的提供商,业余非常关注sdn生态圈的发展,最近抽时间研究了li版本of plugin的代码,记录了一些心...

32450
来自专栏用户2442861的专栏

分布式统一框架的设计与实现(数据库)

我们设计并开发了内容中心统一的分布式开发框架。我们把它取名为albian, albian是基于java的(故以下简称albianj)。他主要是面向海量数据处理...

34810
来自专栏java一日一条

也谈如何构建高性能服务端程序

引子:我接触过很多编程语言,接触过各种各样的服务器端开发,Java,Go,Ruby,Javascript等语言,Spring,Node.js,Rails等等常见...

16030
来自专栏腾讯大讲堂的专栏

【折腾不止】前端工程与性能优化

作者:addy(许斌),前端开发工程师,文艺青年一枚,写得了文章,编得了代码。 作为开发,不仅仅是前端,优化总是你绕不开的事,我们的目标就是要产品变得更快。优化...

25480
来自专栏Golang语言社区

前后端分离开发模式下后端质量的保证 —— 单元测试

概述   在今天, 前后端分离已经是首选的一个开发模式。这对于后端团队来说其实是一个好消息,减轻任务并且更专注。在测试方面,就更加依赖于单元测试对于API以及后...

47490
来自专栏Vamei实验室

Python标准库的学习准备

Python标准库是Python强大的动力所在,我们已经在前文中有所介绍。由于标准库所涉及的应用很广,所以需要学习一定的背景知识。 硬件原理 这一部份需要了解内...

20950
来自专栏京东技术

京东价格保护高并发 | 七步走保证用户体验

2014年加入京东,负责京东财务退款及价格保护研发建设,擅长京东逆向流程场景、金额拆分计算、高并发下网站优化。

14430
来自专栏即时通讯技术

IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列

消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一。

45150
来自专栏腾讯研究院的专栏

常见的几种数据层容灾架构比较分享

陈守志 腾讯公司平台运营开发组 一、关于容灾   关于容灾主题,这里罗列对比了几种常见的容灾案例: ?   相对接入层、应用层容灾而言,数据层的容灾相对...

58550

扫码关注云+社区

领取腾讯云代金券