【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 作者:腾讯——张兴华 目前市面上 ...
随机推荐
- TP框架,根据当前应用状态对应的配置文件
index.php define('APP_STATUS','website'); /ThinkPHP/Library/Think/Dispatcher.class.php /** * 应用程序初始化 ...
- Nginx密码验证 ngx_http_auth_basic_module模块
有时候我们需要限制某些目录只允许指定的用户才可以访问,我们可以给指定的目录添加一个用户限制. nginx给我们提供了ngx_http_auth_basic_module模块来实现这个功能. 模块ngx ...
- NC 单据保存时间过长,判断数据库锁表解决办法
SELECT s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.o ...
- ASP.NET MVC+Entity Framework 访问数据库
Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.n ...
- 关于RPC
简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果. RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯 ...
- 20145316&20145229实验四:驱动程序设计
20145316&20145229实验四:驱动程序设计 结对伙伴:20145316 许心远 博客链接:http://www.cnblogs.com/xxy745214935/p/6130871 ...
- Busybox下tftp命令使用详解
http://blog.chinaunix.net/uid-375398-id-1991686.html Busybox下的tftp命令可以用来进行单文件传输.使用的时候,是把电脑作为服务器Serve ...
- wait() notify()搭配synchronize的使用
一直以为自己动多线程,使用过好像就懂了原理一样,其实是按部就班的写自己不知道原理的代码而已. 一些概念: 监视器:将监视器比作一个建筑,建筑里面有个特别的房间,房间中有一些数据,这些数据在同一个时间只 ...
- JS-reverse(数组内容颠倒)
var arr1 = [ 1,2,3,4,5,6 ];// arr1.reverse();// alert( arr1 ); //怎么颠倒字符串呢? var str = 'abcdef';alert( ...
- SQL Server 事务、异常和游标
转自:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110325.html Ø 事务 在数据库中有时候需要把多个步骤的指令当作一个整体来运行,这个整 ...