2016 Google I/O 大会小斟

结尾有我录制的新功能的演示

2016-05-19,谷歌在美国加州的山景城举办了 Google I/O 开发者大会,大会是露天发布会,这和我们所熟悉的大水果发布会相比,就是露天,所以更像一个大趴体。

大会整体概要

  • 新Android系统N

我们在下面会逐步细说

  • VR虚拟现实平台Daydrwam

这次Google非常给力,推出了VR平台Daydream,我就直翻译成“做白日梦”。没错,你不感觉戴着他,去做你现实世界中做不到的东西,不像做白日梦一样吗?😂

我们也许会看过这样的VR设备:

微软 VR

这样

三星 VR

还有这样

索尼 VR

甚至还有这样

乐视 VR

那么我们Android 的VR平台Daydream平台,相信后续厂商都会支持,这个支持不是件简单的事儿,要把各种芯片,各种东西还要强插在那么点手机里,还要迎合市场“一年比一年薄”的需求,哪儿那么容易。

Android VR

  • 引入新的底层编译器

引入了Android N 的 JIT 编译器,APP安装速度提高了75%,减少了50%的代码

这就意味程序在性能上的升高,存储上的降低都有提升。

辣么,什么又是JIT呢?想知道的话,就请后退,我要开始装13了!

JIT全名Just in time compilation,翻译成国语就是及时编译或者实时编译、动态编译的意思,我们的Python或者Ruby、JS等第三方都会或多或少使用这种技术,就因为它编译速度快,提高效能。

参考资料:https://zh.wikipedia.org/wiki/%E5%8D%B3%E6%99%82%E7%B7%A8%E8%AD%AF

  • 增加了Vulkan的特性

Vulkan特性,专注增强图形表现和运行环境,并开放了标准图形处理的API,类似我们最熟悉的Open GL新一代的接替者。

  • Android Wear的更新

Android Wear的版本升级至2.0版本,在手表上增加手写快速回复的功能,并且还增加了键盘输入的功能;还提供了本地音乐播放的功能,与手机离开后能独立的进行蜂窝网络的连接,也就是流量连接。

  • 智能语音设备Google Home

  • 谷歌语音助手Google Assistant,同脸书收购的WhatsApp竞争的新的聊天机器人Allo

其实上面这些对于我们开发者,从目前角度来讲,并无太大卵用,无非也就是帮助我们了解科技行情,让我们为跳槽做好准备😈

下面的内容才是我们开发者真正关注的东西

新的Android系统N

Android N

新的系统,Google强调的是注重性能、安全性、效率。

看点一:内建分屏体验

并且有最近使用应用的互相切换,仅限两个应用。

详细的在最下方视频内有说明

看点二:更新设计的通知中心

  • 直接的快速回复
  • 通知栏交互的改进

看点三:更加智能的省电模式

我们都知道在Android 6.0(API 23)时就引入了省电的新模式,“打盹模式”,也就是当用户设备没有插入电源、处于静止状态(手机并未运动,比如放在桌面上静止)并且关闭屏幕的时候,这个模式会推迟CPU合网络活动,以达到延长电池寿命。而Android N的出现,则会增强了这个“打盹模式”,即用户不必在一定处在“静止状态”时来达到CPU及网络的限制,从而达到更好的增强效果。

图 1\. 打盹模式如何应用第一级系统活动限制以延长电池寿命的图示

图 2\. 打盹模式如何在设备处于静止状态达到一定时间后应用第二级系统活动限制的图示

这里前期不是静止的,并且电池主要耗电在屏幕上的耗电情况,后期到了绿色阶段,变为了瞌睡阶段Doze,没有网络访问、同步工作,并且将任务延期进行。红色块为维护任务的窗口耗时,程序会提供短暂的维护窗口阶段,这个阶段可以进行网络的连接等工作。增强后的功能,则在瞌睡阶段一段时间后,继续休眠屏幕锁、闹铃、GPS、Wifi扫描等功能,从而达到更好的省电目的。

看点四:对三个内置的隐式广播进行砍掉

这里三个隐式的广播是:CONNECTIVITY_ACTION、ACTION_NEW_PICTURE以及ACTION_NEW_VIDEO

去掉这三个隐式广播的意义非常重大。因为之前的应用,我们如果要适应不断的wifi与数据流量切换的场景,我们不得不在manifest文件中注册一个接收器来去监听隐式的CONNECTIVITY_ACTION广播。这样就会带来你手机上所有的应用,凡事注册了这个监听的应用,都会侦听到网络的变化,从而都会有耗电动作。

为了避免这个问题,砍掉这个隐式广播后,面向Android N开发的程序将不会接收到这样的消息,即使在manifest中注册也不会接收到。在已经运行的前台程序中,如果使用BroadcastReceiver请求接收通知,则仍然会接收到CONNECTIVITY_CHANGE。

但是在后两个权限的更改,影响可就没那么简单了,此次更改会影响到所有应用,不仅仅是面向Android N Preview的应用

JobInfo和JobParameters的扩展很好的对这两个权限所带来的不好的体验。

看点五:对权限的更改:

Android N在GET_ACCOUNTS权限做了弃用的操作

看点六:NDK应用链接至平台库

Android N对一些命名空间进行更改。因为官方去掉了一些现有的命名空间,为了避免开发者直接调用到核心代码。这个时候如果我们使用第三方的代码尤为注意,因为第三方代码里,很有可能就会直接调用底层核心代码,从而导致你程序的出错。解决错误方案也很简单,官网有明确说明。

看点七:Android N 对面向Android for Work的应用进行变更

  • 对于设备管理员来重置密码,要有配置文件的所有者,才能进行更改。设备管理员无法再使用 DevicePolicyManager.resetPassword()来清除或更改已经设置的密码。不过设备管理员仍可以设置密码,但前提是设备没有密码、或者PIN密码、图案密码时才能设置。

  • 对于设备所有者来访问设备的标识符,比如说获取Wi-Fi MAC地址时,如果设备未启用Wi-Fi,则使用DevicePolicyManagewr.getWifiMacAddress()将返回一个null

看点八:对于更改显示尺寸可能导致程序崩溃问题

如果你的程序可以在Android N运行,但是开发的版本是针对低版本开发的,那么特别要注意要测试下,变换屏幕显示尺寸,再从菜单返回到程序中,会不会出现崩溃的问题。您可以通过改变字体大小(Setting > Display > Font size),来验证程序是否会出现崩溃问题。

其他变化

  • 从多语言上做了一些微调,比如说对资源解析策略的改进,对程序的编码格式化等。
  • 添加了新表情
  • 系统原生支持了Android Pay的APIs,看来彻底要进军Pay的战场了。
  • 增加快速返回程序功能

只需双击多任务键即可切换刚刚切换回后台的任务了。这对于我这种微信、QQ需要经常切换的用户简直太爽了。

传送门:新功能的演示(在优酷上,流量童鞋慎戳!!!):2016 Google I/O大会更改的内容小叙

看来Google的这次更新,确实诚意满满,我单从技术的角度来说,能看到有心去把这个系统完善的更加人性化,这也就是为什么Google的势头这几年要敢追大果果的原因了。

继续坚守阵营!