【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 作者:腾讯——张兴华 目前市面上 ...
随机推荐
- Yii2 中禁用csrf校验
Yii2 默认开启csrf校验,但是有些时候确实不需要校验,比如对外提供API 一般做法直接在xxController中增加属性: public $enableCsrfValidation = fal ...
- 第五章 springboot + mybatis(转载)
本编博客转发自:http://www.cnblogs.com/java-zhao/p/5350021.html springboot集成了springJDBC与JPA,但是没有集成mybatis,所以 ...
- Getting Started With Hazelcast 读书笔记(第四章)
第四章 分而治之 在指导了如何进行基本使用之后,又再次进入理论模块. Hazelcast的基本策略就是切片分区,默认是271个片.内置一个 partition table记录那个节点是那个分区,并在h ...
- c# htmtToPDF
http://www.cnblogs.com/shanyou/archive/2012/09/07/2676026.html
- Ubuntu16.04下安装.NET Core
以下为控制台输入代码序列一.sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet ...
- JSON字符串解析
有时保存在数据库的数据是一串json字符串,需要进行读取的时候就需要解析操作. 简单介绍两种: 1.net.sf.json.* 2.com.alibaba.fastjson.* 需要的包自行下载. 第 ...
- mac下svn问题——“.a”(静态库)文件无法上传解决
mac下svn问题——“.a”(静态库)文件无法上传解决 “.a”(静态库)文件无法上传(svn工具:Versions) 网上查询了一下,说是Xcode自带的svn和Versi ...
- Spring中使用Schedule调度
在spring中两种办法使用调度,以下使用是在spring4.0中. 一.基于application配置文件,配置入下: <bean id="jobDetail" class ...
- Eclipse插件收集
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: [在Eclipse文件列表中打开文件所在 ...
- React Native填坑之旅--class(番外篇)
无论React还是RN都已经迈入了ES6的时代,甚至凭借Babel的支持都进入了ES7.ES6内容很多,本文主要讲解类相关的内容. 构造函数 定义侦探类作为例子. ES5的"类"是 ...