Android N作了哪些改变html
1、 性能改善java
手机在关屏同时没有充电的状况,在一段时间后会进入打盹状态,第一阶段会停掉同步、做业、网络等访问,第二阶段会停掉app的位置服务、wifi scanner、GPS、wake lock、AlarmManager 等服务。android
会影响app的保活,尤为对那些须要接受消息类的app,引导用户开启白名单,Google 推荐使用GCM。api
广播:安全
静态注册CONNECTIVITY_ACTION 广播将失效,只有动态注册才行。Android 5.0上可使用JobScheduler在指定的网络条件运行你的任务,还能够经过ConnectivityManager registerNetworkCallback()来监听网络状态。网络
ACTION_NEW_PICTURE,ACTION_NEW_VIDEO广播已经去除,固然应用能够经过ContentResolver来监听。Android N上面能够JobScheduler来监听app
2、 NDK 试用改变ide
限制只能试用平台公共api,不然你的应用会crash,最好只使用NDK中包含的api,不然系统被定制了可能会找不到你要连接的so,其次使用第三方so的时候也要注意对方有木有试用非法的so.性能
如图:优化
3、 Screen Zoom
用户最低能够改变到屏幕宽度为320dp,因此app最好能适配sw320dp,当你的 compile target < android N 时,当用户改变屏幕显示大小时,会杀掉后台进程(你的app会被干掉哦)
4、 Language and Locale
支持多用户多语言环境,提供新的API: LocaleList.GetDefault(),能够获取全部用户的语言环境。
同时app多语言查找策略改变,当你的app中不在当前语言环境的resources时,会找最接近的语言代替,而不是直接使用默认语言代替。如:你的app的Resources中只包含 es,和zh_cn,当用户的环境是zh_tw时,会用zh_cn代替。而且还支持自定义语言目录。
5、 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"]
这种模式在平板电脑上面很合适。
6、Notifications
Android N提供一些新的关于Notifications的API。
RemoteInput.Builder:使得用户能够在通知栏直接回复,这个很适合社交类app和短信app,以及能够应用到用户反馈中。
NotificationCompat.Builder.setGroup():可使同一个app通知放在同一个分组。
NotificationManager:能让你知道你目前发了多少条通知,怎样通知进行分组。
7、Data Saver
当用户开启流量节省后,会禁止app在后台使用收费网络流量数据。甚至在前台使用流量时也会发出警告。
ConnectivityManager.isActiveNetworkMetered(),
ConnectivityManager.isActiveNetworkMetered(),
查询是否开启流量节省模式,本身是否在用户白名单中(对本身例外)
ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED
监听用户开启流量节省模式
8、Network Security Configuration
能让app定制网络安全设置:
这个特性,对于支付类软件、金融类和购物类等是福音啊,防止劫持,防止重定向。
这些配置不须要你改代码,只须要加上配置文件便可。
9、运行时模式
AOT、解释、JIT混合运行时模式
10、其余
部分支持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