1.在AndroidManifest文件中增加了一种叫做android:resizableActivity的属性值,并把这个值设为true,我们的应用的Activity将可以以分屏模式的形式呈现在手机或平板上(对于用户来说比较炫酷的功能)
2.Notification支持分组 通过在Notification的Builder里添加setGroup即可让通知归纳到一个分组里面
3.7.0版本下 用户可以限制应用的流量 对于后台应用 流量完全禁用 而对于前台 系统会示意其减少流量的使用
通过ConnectivityManager的getRestrictBackgroundStatus()方法判断用户设置的数据使用限制。
该方法返回三种值:
RESTRICT_BACKGROUND_STATUS_DISABLED 没有启用
RESTRICT_BACKGROUND_STATUS_ENABLED 启用
RESTRICT_BACKGROUND_STATUS_WHITELISTED 启用了但是在白名单中
可通过创建广播监听ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED ("android.net.conn.RESTRICT_BACKGROUND_CHANGED")来实现对用户改变节约数据选项的监测。
(哈哈哈 后台流氓应用越来越没有活路了 有种你继续推送啊)
4.支持ICU4J库和JAVA8
前者是一个Java工具库 后者则添加了诸如Lambda表达式 默认方法(接口)等特性
5.Jack编译器
特性:开源,减少编译时间,减肥混淆重打包分包功能一体化
一个jack文件分为四个部分:
jayce:代表JACK IR
Pre-dex:二进制的java源文件
Resources:库所依赖的所有资源文件
Meta:jack所需要的元数据
对于.jar文件 Jack提供了Jill工具负责将.jar文件中的class文件和资源文件分离并重新打包成Jack文件
Jack编译器在启动的时候会自动开启一个服务 以缩短每次都需要启用JVM、加载Jack码、初始化Jack编译器和初始化JIT所带来的时间消耗
Jack服务默认使用8072和8073这两个TCP端口 对于服务的配置可以通过修改$HOME/.jack进行
在使用依赖库的时候 Jack会预打包他们 并且在编译的时候重用pre-dex(二进制的java源文件)
增量编译功能 只对发生修改的组件所依赖的库进行重编译
以上两个功能只有在不开启multidex(分包) repackging shrinking(减肥)和obsecuration(混淆)的时候才能使用