Android N做了啥
Android N做了哪些改变
一、 性能改善
- Doze超级省电模式
手机在关屏同时没有充电的情况,在一段时间后会进入打盹状态,第一阶段会停掉同步、作业、网络等访问,第二阶段会停掉app的位置服务、wifi scanner、GPS、wake lock、AlarmManager 等服务。
会影响app的保活,尤其对那些需要接受消息类的app,引导用户开启白名单,Google 推荐使用GCM。
- 后台优化
广播:
静态注册CONNECTIVITY_ACTION 广播将失效,只有动态注册才行。Android 5.0上可以使用JobScheduler在指定的网络条件运行你的任务,还可以通过ConnectivityManager registerNetworkCallback()来监听网络状态。
ACTION_NEW_PICTURE,ACTION_NEW_VIDEO广播已经去除,当然应用可以通过ContentResolver来监听。Android N上面可以JobScheduler来监听
二、 NDK 试用改变
限制只能试用平台公共api,否则你的应用会crash,最好只使用NDK中包含的api,否则系统被定制了可能会找不到你要链接的so,其次使用第三方so的时候也要注意对方有木有试用非法的so.
如图:

三、 Screen Zoom

用户最低可以改变到屏幕宽度为320dp,所以app最好能适配sw320dp,当你的 compile target < android N 时,当用户改变屏幕显示大小时,会杀掉后台进程(你的app会被干掉哦)
四、 Language and Locale
支持多用户多语言环境,提供新的API: LocaleList.GetDefault(),可以获取所有用户的语言环境。
同时app多语言查找策略改变,当你的app中不在当前语言环境的resources时,会找最接近的语言代替,而不是直接使用默认语言代替。如:你的app的Resources中只包含 es,和zh_cn,当用户的环境是zh_tw时,会用zh_cn代替。并且还支持自定义语言目录。

五、 Multi-Window Support
Android N机器上默认就支持Multi-Window,同一个屏幕可以运行多个app窗口。有两种模式,split-screen mode和picture-in-picture mode。app开启和关闭这两个模式很方便,在AndroidManifest.xml配置一下即可。
android:resizeableActivity=["true" | "false"]
android:supportsPictureInPicture=["true" | "false"]
这种模式在平板电脑上面很合适。

六、Notifications
Android N提供一些新的关于Notifications的API。
RemoteInput.Builder:使得用户可以在通知栏直接回复,这个很适合社交类app和短信app,以及可以应用到用户反馈中。

NotificationCompat.Builder.setGroup():可以使同一个app通知放在同一个分组。

NotificationManager:能让你知道你目前发了多少条通知,怎样通知进行分组。
七、Data Saver
当用户开启流量节省后,会禁止app在后台使用收费网络流量数据。甚至在前台使用流量时也会发出警告。
ConnectivityManager.isActiveNetworkMetered(),
ConnectivityManager.isActiveNetworkMetered(),
查询是否开启流量节省模式,自己是否在用户白名单中(对自己例外)
ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED
监听用户开启流量节省模式
八、Network Security Configuration
能让app定制网络安全设置:
- Debug-only overrides(自定义信用的CA)。
- Debug-only overrides(自定义能调试你app信用的CA)
- Cleartext traffic opt-out(防止网络请求明文交互)
- Certificate pinning(自定义只信用包含特定公钥CA)
这个特性,对于支付类软件、金融类和购物类等是福音啊,防止劫持,防止重定向。
这些配置不需要你改代码,只需要加上配置文件即可。

九、运行时模式
AOT、解释、JIT混合运行时模式
十、其他
部分支持ICU4J(能很好支持国际化本地化数据展示)。
支持java 8语言特性(lambda表达式可以使用啦) -- android 自己的编译器jack&jill支持java 8
、
总之:Android N为用户增加了电量管理、流量管理、内存管理、存储管理、通知管理等,提供更加可靠的安全能力,满足用户个性化需求,提高了app用户体验,改善手机使用性能,方便了app开发者。
参考链接:
https://developer.android.com/intl/zh-cn/preview/j8-jack.html
http://developer.android.com/intl/zh-cn/preview/samples.html
https://developer.android.com/intl/zh-cn/training/monitoring-device-state/doze-standby.html
http://www.pcpop.com/doc/2/2571/2571412.shtml
Android N做了啥的更多相关文章
- 当我们按下电源键,Android 究竟做了些什么?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由goo发表于云+社区专栏 相信我们对Android系统都不陌生,而Android系统博大精深,被各种各样的智能设备承载的同时,我们会否 ...
- 【Android】做一款类似我要当学霸里的学习监督的APP
我要当学霸这款App有个学习监督的功能,当你启动它的时候,你将无法使用其他App,以此达到帮助人提高自觉性,起到监督学习的效果.最近和同学做了个小App,正好有这个功能,所以就来说说它是怎么实现的. ...
- Android手机做无线中继路由器
为什么要拿手机做路由器?因为我现在每天要带着一个火柴盒大小的路由器(703n).它提供了一个f了q的无线网络,电脑,手机,平板等设备连接上这个无线网络之后之后就可以自由上twitter,看youtub ...
- 只能用Android studio做平台移植了! 在Windows10下, 开发Android。
安装好IDE后, 会一直显示同步失败, 看看如下步骤: 需要注意的是: -> 安装NDK 自带的NDK版本有问题 自己去下一个15版本的 -> 按照系统提示一步一步安装其他 ...
- Android PopupWindow做的分享界面
package com.tq.mbaexam.view; import java.util.ArrayList; import java.util.LinkedHashMap; import java ...
- android怎么做表格显示数据
实现思路:最底层(父级)背景为黑色,最上层(子级)背景为白色,然后父子组件之间存在一丝间隔即可显示出类似边框的线. 本次主要利用Android中的TableRow等实现,其他类比也可以实现效果. &l ...
- 想做Android Wear开发?你得先搞明白这四件事
手环和手表的腕上穿戴之争,随着Apple Watch发布和Android Wear不断完善而告一段落.尽管续航上略有缺陷,但手表以其类似手机可扩展的生态环境赢得了众多巨头的支持. Google曾透露, ...
- Android、iOS、和Web如何做灰度发布?
主要参考了: https://www.zhihu.com/question/21714205 https://www.zhihu.com/question/28296375 一.概述 ...
- Android程序中--不能改变的事情
有时,开发人员会对应用程序进行更改,当安装为以前版本的更新时出现令人惊讶的结果 - 快捷方式断开,小部件消失或甚至根本无法安装. 应用程序的某些部分在发布后是不可变的,您可以通过理解它们来避免意外. ...
随机推荐
- C# socket通信
最近在研究socket,今天看到很好的一篇关于socket通信的文章,故收藏了,慢慢琢磨. 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: 1.TCP/IP层次模型 当然这里 ...
- Silverlight动态生成控件实例
刚学习Silverlight,做了一个动态创建控件的实例 实现结果:根据已有的控件类名称,得到控件的实例化对象 实现思路1:就是定义一个模板文件,将类名做为参数,在silverlight中使用Srea ...
- SQLServer 游标 (A)
游标 游标分为客户端游标和服务器端游标.Sql通过游标可以对一个结果集进行逐行处理.对于使用服务器端游标的过程有:声明.打开.读取.关闭.释放. 1 声明游标 1.1 SQL-92标准的声明 Decl ...
- MFC 修改各种控件的背景颜色、字颜色和字体
今天主要总结一下有关MFC 中静态编辑框(StaticEdit).编辑框(Edit)和按钮(Button)的背景颜色.字颜色和字体. 我的程序运行结果如下: 由上图我们知道修改的地方有:1.把Stat ...
- Linux_用户级_常用命令(4):cp
Linux_用户级_常用命令之cp 开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! Linux常用命令第二集包含命令:cp 格式 cp [-optio ...
- Java数据结构之字符串模式匹配算法---Brute-Force算法
模式匹配 在字符串匹配问题中,我们期待察看源串 " S串 " 中是否含有目标串 " 串T " (也叫模式串).其中 串S被称为主串,串T被称为子串. 1.如果在 ...
- Don't make a promise when you are in Joy. Don't reply when you are Sad.Don't take decisions when you are Angry.Think Twice.Act Wise.
Don't make a promise when you are in Joy. Don't reply when you are Sad.Don't take decisions when you ...
- LabVIEW类方法浏览器-Class Method Browser
随着LabVIEW的类编程应用增多,当打开较多的VI进行编辑时候,添加该类对应的VI方法到程序后背板上操作显得繁琐(需要在Project浏览器或类浏览器或库浏览器中找到该类的方法VI,然后再拖到程序背 ...
- ubuntu 设置 默认的JDK路径
首先查询有多少种JDK已经被安装了 sudo update-alternatives --list java 其次 配置你想默认的JDK sudo update-alternatives --conf ...
- scoi 2008 && bzoj 1076 奖励关
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3223 思路:15?好,状压,OK. 这是转移方程 if((s[k]&j)==s[k] ...