大清早看到 Google 官方博客发布 Android N 的开发者预览版,立马从床上跳起来开始仔仔细细的读起来。

从开发者角度来看,Android N 的更新并不算大。网上之前流传的一些 Android N 可能出现的新特性,什么夜间模式,抽屉の消失,指纹识别接口什么的,目前来看很多都没有,现在看朋友圈转的好几篇文章更像是作者在贤者模式下的意淫。

Android N 的新特性

废话不多说,我来盘点下 Android N 的新特性,同时分析下开发者角度下的 Android N。

Multi-Window Support (分屏多窗口支持)

简单来说,就是屏幕上可以出现多个多个程序。想想你平时看视频的时候来了微信消息的时候,你得退出视频App,切到微信,回复消息,然后再切回来重新缓冲… 这是一个多么蛋疼的设定...

有了 Android N 以后,这个问题迎刃而解!

全新的 Android N 下将支持两种新的窗口模式:

  • Side-By-Side 模式:两个 App 瓜分一个屏幕
  • One-above-the-other 模式:一个 App 浮动在另一个 App 之上

在 Android N TV 上,还将支持 Picture-in-picture (画中画) 模式,用户在浏览其他 App 的时候,视频可以浮动在屏幕上。

大致效果就是下面这个样子的:

对开发者而言,想要支持多窗口也很简单,只需要在 AndroidManifest 文件里加上一个属性即可:

android:resizeableActivity=["true" | "false"]

Direct Replay & Bundle Notifications (快捷回复和归拢通知)

快捷回复

新的 Android N 目测是借鉴了 iOS 里的快速回复功能,用户将可以在通知栏里快速回复消息,邮件等通信信息。对于商务人士和爱好打游戏的玩家来说,是个很赞的功能。

快速回复截图

归拢通知

邮件和 IM 类的 App 总是会在短时间内发来很多通知,在此之前,所有的通知栏是相互独立的,这些新到的通知占用了很多空间,却只能显示有限的信息。归拢通知就是把这些通知归拢起来,逻辑性更强,展示的也会更多。另外一大好处可能就是,用户可以一键消除掉所有同一个 App 发来的通知。个人感觉这个功能比 iOS 要先进一些,很多人的 iOS 通知栏里肯定存在着很对微信的通知对吧...

对开发者而言,全新的通知体系允许开发者更灵活的自定义通知的 UI(View)。具体细节看这里

Data Saver (节约数据)

Android N 增加了一个系统级的控制开关:节约数据。

其实这个设定是一个中间设定,因为目前对于网络数据只有开和关两种属性,但有的时候,比如我们月底 4G 数据套餐快用光了,学生在宿舍用着收费的 Wifi,又或者出国漫游,在这些场景下,我们既想开着移动数据,又想告诉所有的 App,我当前的流量是有限的,大家不要用太多。当 App 在收到这个通知后,就会尽可能的减少网络请求,节省用户流量。

可以看得出,这是一个很人性化而且实用的功能,给 Android 的 PM 点个赞。这个功能目前在 iOS 上是没有的,但在 Windows 10 上是有的,不过那个名字起得略微俗气,在网络里有一项叫:我当前使用的是收费网络。

这个功能的普及可能需要一段时间,所以早期不能完全指望开发者给你节省流量,更何况是国内各大厂的 App,所以不要忘了在流量不够的时候,开启流量黑白名单。

对于开发者而言

接下来的一部分,是 Android N 在 SDK 方面的一些提升。个人感觉没多少,而且不痛不痒,毕竟国内现在 Android 5.0 的统一大业都还差得很远。

对于开发者们而言,最大的利好,莫过于:

支持 Java 8

Android N 开始支持 Java 8 了,很酸爽对吧!终于扯掉了老奶奶的裹脚布!终于要迈开步子写代码了!终于能够时尚一把了!

很多 Geek 开发者为了 Java 中的 Lambda 表达式,折腾来折腾去的 Retrolambda 也即将要退出历史舞台了。 Kotlin 一贯标榜的便利,失色三分了。今天起,我也要开始学习 Java 8 了。

Jack ( Java Android Compiler Kit )全新的编译工具集

Jack 最大最大的优点,你不用再操心 65K 方法限制的问题了! Jack 在 Compile 的时候就已经解决了!『65k 方法限制』将成为过去式中存在的名词了。

其他的一些变化:

  • 速度(每次都会提升速度
  • Library File 的后缀(变成了 .jack

Background Optimizations(后台优化)

Android N 为了节约内存和电量,移除了三种广播通知。移除的三种分别是:

  • ACTION_NEW_PICTURE:拍摄了新的图片
  • ACTION_NEW_VIDEO:拍摄了新的视频
  • CONNECTIVITY_ACTION: 用户网络发生变化

当我看到这些的时候,脑子里第一想法居然是好爽,那些国内的推送服务药丸!!推送服务又少了三种最有用的唤醒!!哈哈哈哈哈哈

不过对开发者来说影响还好,乍一看,CONNECTIVITY_ACTION 可能会影响比较大,但是官方给出了一个替代方案,想要接收网络变化的 App 需要注册一个 CONNECTIVITY_CHANGE 事件,当用户手机网络发生变化的时候,只有 App 正在运行的时候,才能收到 CONNECTIVITY_CHANGE 的回到,如果 App 已经被干掉,那么是不会回调的。这样既避免了网络变化监听的功能性缺失,又节约了用户电量,减少了唤醒。对国内第三方推送服务也是沉重的一击。

官方对 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO 移除,也提供了缓和之计。就是使用 JobScheduler 这也是 Android 团队安利已久的一个定时任务方案,大家不要辜负了 Android 开发团队的一番苦心,快去读读文档,争取在下个项目里用上。

而且官方还说了,未来,很会广播机制都会有所改动。所以... 国内的 Android 目测也会越来越好用,国内无良厂商们能玩儿花样也会越来越少。撒花。

同时:

adb 里也增加了测试 后台服务 不可用的命令,方便开发者做测试:

禁用后台服务:

$ adb shell cmd appops set RUN_IN_BACKGROUND ignore

重新启用:

$ adb shell cmd appops set RUN_IN_BACKGROUND allow

Scoped Directory Access (特定文件夹权限)

有的时候,App 可能只需要读写特定文件夹,在此之前,你得申请 READ_EXTERNAL_STORAGE或者 WRITE_EXTERNAL_STORAGE 的权限,这个权限会让用户很不放心而且对于心怀鬼胎的 App,没准也会瞎搞,新的体系下,App 可以申请一个特定文件夹的权限来证明自己的清白。

做个干干净净的 App,就用这个特性吧!

Language and Locale (语言和地区)

Android N 里用户可以选择多种地区。比如你会中文和日语,就是不会英语。你就可以同时选择中国和日本。这样 App 显示语言的顺序将会是中文,没有中文优先显示日文,而非现在的一旦找不到语言包,就默认选择了英语。

Direct Boot (直接启动)

用户在开机但是还未解锁的情况下,很多 App 是无法启动的,这会导致一些问题,比如...你设置的第三方闹钟可能没响,你的微信可能收不到通知... Android N 下可以申请在开机未解锁情况下直接启动。

TV Recording(TV 录制)

这是 Android N TV 上的一个提升,允许 App 录制 TV 信号视频,很爽的,比如你在加班,而冰火第六季已然已经开演,先让 TV 录下来,回去再看…就酱...

以上,是所有关于 Android N 的变化。总体来看,变化不大,期待今年 Google I/O 2016 上 Google 会放出其他的一些黑科技来撩拨开发者的心房。Android N 的正式版大概会在第四季度到来,大家得再等等。

我是代码家,这是我总结的,质量值得信赖。

转载自 http://gank.io/post/56e0b83c67765963436fcb94

从开发者角度解析 Android N 新特性!的更多相关文章

  1. Android N 新特性

    2016年5月19日,谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布.2016年6月,Android N正式命名为“牛轧糖” 本届I/O开发者大会上,Google重点介绍了And ...

  2. 可能是最早的学习Android N新特性的文章

    可能是最早的学习Android N新特性的文章 Google在今天放出了Android N开发者预览版.Android N支持Nexus6及以上的设备.5太子Nexus5不再得到更新. Android ...

  3. Android O新特性和行为变更总结zz

    https://mp.weixin.qq.com/s/Ezfm-Xaz3fzsaSm0TU5LMw Android O 行为变更https://developer.android.google.cn/ ...

  4. Android R 新特性分析及适配指南

    Android R(Android 11 API 30)于2020年9月9日正式发布,随国内各终端厂商在售Android设备的版本更新升级,应用软件对Android R 版本的兼容适配已迫在眉睫. 对 ...

  5. Android 13 新特性及适配指南

    Android 13(API 33)于 2022年8月15日 正式发布(发布时间较往年早了一些),正式版Release源代码也于当日被推送到AOSP Android开源项目. 截止到笔者撰写这篇文章时 ...

  6. Android N 新特性 + APP开发注意事项

    1. 多窗口MultiWindow 多窗口MultiWindow,这是Android N里对开发者影响比较大的特性,也是大家疑问比较多的地方.站在开发者的角度其实不必太担心这个特性会导致我们需要修改很 ...

  7. Android开发学习之路-Android N新特性-多窗口模式

    我们都知道,在最新的Android N系统中,加入了一个新的功能,就是多窗口模式.多窗口模式允许我们在屏幕上显示两个窗口,每个窗口显示的内容不同,也就是说,我们可以一遍看电视剧,一边聊微信. 这里我们 ...

  8. Android开发——新特性与知识点回顾

    Fragment 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容 生命周期方法跟Activity一致,可以理解把其为就是一个Activity 定义布局文件作为Fra ...

  9. Android M新特性之Behavior Changes

    1.Runtime Permissions On your apps that target the M Preview release or higher, make sure to check f ...

随机推荐

  1. 关于Lt分发系统的时序图分析

    我们已经知道,系统共分为两个模块,mather与son 同时系统允许的操作也有三种,向mather提交war包,我某个服务器更新代码,为所有服务器更新代码 我们一个一个来看 先说,向mather提交w ...

  2. 简单搭建iOS开发项目框架

    今天我们来谈谈如何搭建框架,框架需要做一些什么. 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页面,不再需要考虑其他的问题. 第二步:我们需要做哪些东西各位跟着我一步一步来进行. 假 ...

  3. Hibernate单表操作

    单一主键 assigned:由Java应用程序负责生成(即手工的赋值) native:由底层的数据库自动的生成标示符,如果是MySQL就是auto_increment,如果是Oracle就是seque ...

  4. [sersync+rsync] centos6.5 远程文件同步部署记录

    针对本地文件的修改,自动同步到远程文件夹,远程备份很方面.研究了下大家的主流同步方案一般是 rsync+inotify和rsync+sersync, 我这里使用sersync的方案,当然大部分都是参照 ...

  5. Android PackageManager源码浅析以及静默安装实现方式

    Aandroid应用管理    >http://blog.csdn.net/sk719887916/article/details/50314017 skay整理.        >201 ...

  6. 1022. Digital Library (30) -map -字符串处理

    题目如下: A Digital Library contains millions of books, stored according to their titles, authors, key w ...

  7. iOS中 UITableViewRowAction tableViewcell编辑状态下的功能 UI技术分享

    * tableView:editActionsForRowAtIndexPath: // 设置滑动删除时显示多个按钮 * UITableViewRowAction // 通过此类创建按钮 * 1. 我 ...

  8. ios swift模仿qq登陆界面,xml布局

    给大家推荐两个学习的地址: 极客学院的视频:http://www.jikexueyuan.com/path/ios/ 一个博客:http://blog.csdn.net/lizhongfu2013/a ...

  9. [Ext.Net]TreePanel 异步加载数据

    异步加载数据指的是页面加载的时候只显示根目录,点击根目录再去加载其子目录. 下面就来介绍下这种异步加载的树结构要怎么实现 现将例子的图 QQ图片20131225134353.jpg (12.1 KB, ...

  10. TCP状态转换

    最近笔试遇到一个题目:如果tcp建立连接时第三次握手失败,tcp会做何操作?该问题的本质是判断我们对tcp的状态转换是否能有比较深刻的理解.只要理解了下面的状态转换图,很容易回答上述问题. 在此,将& ...