【Bugly干货】关于 Android N 那些你不知道的事儿
- 默认多窗口支持
- 强化通知,里边有你最喜欢的直接回复
- 没了…当然不是:Android Developer 一笔带过的重磅 feature:允许第三方应用在快速设置中添加自己的服务
默认多窗口支持

- 虽然分屏状态下两个应用都可见,但是对于非 Focus 状态的应用当前是处于 onStop 状态的,也就是说,并没有实际在运行中。原本 onStop 的时候应用应该是不可见,但是现在可见了。。。原本的一些恶心逻辑注意修改下。
- 虽然分屏状态下的应用不会 double 内存占用,但是内存占用肯定会比正常状态大,注意分屏模式下即时释放内存。
- 适配好你的程序,该加 scroll 的地方加 scroll。当然,如果原本的你的程序就已经针对多尺寸屏幕有了处理,就已经完美适配了这个模式
强化通知

|
1
2
3
4
5
6
|
Notification noti = new Notification.Builder() .setSmallIcon(R.drawable.ic_stat_player) .setLargeIcon(albumArtBitmap)) .setCustomContentView(contentView); .setStyle(new Notification.DecoratedCustomViewStyle()) .build(); |
- CONNECTIVITY_ACTION:网络变化
- ACTION_NEW_PICTURE:添加新图片
- ACTION_NEW_VIDEO:添加新视频
|
1
|
javac (.java --> .class) --> dx (.class --> .dex) |
|
1
|
ack (.java --> .jack --> .dex) |
|
01
02
03
04
05
06
07
08
09
10
11
12
13
|
android { ... defaultConfig { ... jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }} |
- 定义接口默认实现方法
- Lamda 表达式支持(喜欢语法糖的同学的福利)
- Repeatable annotations。这个已经可以说的内容很多,改天有空给大家慢慢介绍。
- Method Reference。这个实话实说我并不是太了解,也是语法糖一种。感兴趣的同学可以看看这个链接:https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html
但是现在还没有支持一个很重要的特性:Stream。但是现在还在 Preview 阶段,比如刚刚的第四条 Method Reference 就是 Preview2 支持的,可以期待下 release 中是否会支持(最新消息:已经支持 java.util.stream 接口,棒棒的!)。
- Lamda 表达式本质上回生成匿名类,在性能敏感的模块慎用
- 由于 Jack 编译器不会产生.class 中间文件,因此在.class 上做 trick 的一些库或者项目可能就会失效或者出问题。因此在使用之前,一定要好好测试。
其他应该注意的事项
- Data Saver:乍看上去是一个数据存储的 API,感觉很兴奋,结果点开一看是流量节省。。。好吧,博大精深的英文。从 Android N 开始,系统层级支持用户针对每一个应用添加自己的流量控制限制。今后开发的时候需要先通过 ConnectivityManager.getRestrictBackgroundStatus() 接口获取本应用流量控制情况。
- Key Attestation:对于绝大部分应用并不需要仔细研究的 feature,甚至可以当做不存在,但是对于我个人所做的生物认证项目来说,可谓是非常重要的 feature。
- 针对文件目录或类型申请权限:实话实说,这个也算是一个很重要的 feature。从 Android 6.0 开始,如果需要使用存储空间,包括读写,需要动态申请权限。然而对于大部分应用来说,都需要申请这个权限,而且一旦用户允许,应用就可以为所欲为。因此,Android N 中允许应用声明仅仅授权某个文件夹或者文件类型的存储。
禁止 Native动态链接系统库
扯淡



【Bugly干货】关于 Android N 那些你不知道的事儿的更多相关文章
- 【Bugly干货】Android性能优化典范之多线程篇
本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇 ...
- 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试
1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...
- 【Bugly干货分享】手把手教你逆向分析 Android 程序
很多人写文章,喜欢把什么行业现状啊,研究现状啊什么的写了一大通,感觉好像在写毕业论文似的,我这不废话,先直接上几个图,感受一下. 第一张图是在把代码注入到地图里面,启动首页的时候弹出个浮窗,下载网络的 ...
- 【腾讯Bugly干货分享】TRIM:提升磁盘性能,缓解Android卡顿
Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处.在业内,Android 手机一直有着 ...
- 【Bugly安卓开发干货】Android APP 高速 Pad 化实现
Bugly 技术干货系列内容主要涉及移动开发方向.是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创.转载请标明出处. 怎样能在最快的时间内,实现一个最新 ...
- 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57e3a3bc42eb88da6d4be143 作者:王赛 1. 前言 Andr ...
- 【腾讯Bugly干货分享】Android性能优化典范——第6季
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/580d91208d80e49771f0a07c 导语 这里是Android性能优 ...
- 【腾讯Bugly干货分享】Android动态布局入门及NinePatchChunk解密
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ff5d53bbcffd68c64411 作者:黄进——QQ音乐团队 摆脱 ...
- 【腾讯Bugly干货分享】Android进程保活招式大全
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ac4a0ea374c75371c08ce8 作者:腾讯——张兴华 目前市面上 ...
随机推荐
- Openfire 集群探究_压测情况
一.(测试时间:20151220 - 下午14:00-17:00) windows环境 第一次测试,运行中发现在eclipse环境下.4w个连接耗尽了约1G的内存. 另外:服务本来可用的,压测客户端强 ...
- javascript eval和JSON之间的联系
原出处:http://www.jb51.net/article/21688.htm eval函数的工作原理 eval函数会评估一个给定的含有JavaScript代码的字符串,并且试图去执行包含在字符串 ...
- 百度地图定位经纬度返回4.9E-324有关问题
1.查看你的应用是否有权限查看你的地理位置信息,有可能是你没有加上权限,或者当你第一次打开app时询问你是否给予软件权限查看你的地理位置信息,你选择了否,所以经纬度就一直返回4.9E-324 2.查看 ...
- SQLServer : 几个特殊函数(RAND,CHECKSUM, NEWID)
这一篇我们来捋捋在T-SQL中可能会用到的几个特殊的函数 1. 随机数: RAND 返回从 0 到 1 之间的随机 float 值. 语法: RAND ( [ seed ] ) seed 提供种子值的 ...
- 对象序列化成Json字符串 及 反序列化成对象
一. public static string JsonSerializer<T>(T t) { DataContractJsonSerializer ...
- Centos 6.X基本维护操作
设置163源,全新最小化安装时,更改源需先yum install wget mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-B ...
- WinForm程序全局捕捉异常处理办法
如何全局捕捉Winform程序异常呢,当然是从程序启动入口的Program类下的Main()方法定义了,下面看下这个类怎么写的吧 static class Program { static strin ...
- 在 Mac OS 上使用 TypeScript 编写 ASP.NET Core 1.0 应用
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- SQL Server 全文索引创建
在安装数据库管理系统SQL Server 后,默认情况下全文索引的服务是没有开启的 ,所以首先需要先开启服务,在sql server配置管理器中 (sql server configuration M ...
- Windows下Spark单机环境配置
1. 环境配置 a) java环境配置: JDK版本为1.7,64位: 环境变量配置如下: JAVA_HOME为JDK安装路径,例如D:\software\workSoftware\JAVA 在pa ...
