android 7.0变化
一、加强版的低电耗模式
条件:1未插电源;2屏幕关闭;(N与6.0的区别就在于N在手机非静止时也可进入低电耗模式)
作用过程及方式:1充电状态;2屏幕关闭一定时间;进入一级低电限制:关闭网络,推迟CPU作业。
3在上述基础上再静止一定时间:进入全低电耗模式:扫描PowerManager.WakeLock、AlarmManger、GPS、WIFI的低电耗设置。
在此期间受到限制的应用都会在隔一段时间后的窗口期来执行其推迟的作业工作。
二、后台优化
由于耗电问题,N删除了三项隐式广播
1.CONNECTIVITY_ACTION
单次的网络切换即会导致大多数注册了该监听的应用唤醒并同时处理。
2.ACTION_NEW_PICTURE
3.ACITONG_NEW_VIDEO
单次拍照录像也会导致注册该监听的所有应用唤醒。
修改方式:
1前台应用可以使用BroadcastReciver在主线程监听CONNECTIVITY_CHANGE。无法收到CONNECTIVITY_ACTION。
2无法收到2 3两项广播,及时在N之前的版本
替代方案:
JobScheduler。
三、权限更改
1文件的所有者不能放宽其文件的读写权限。
MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE将抛出SecurityException。(可用原生FILE API来修改,但google强烈反对)
2传递软件包网域外file://URI 可能无法访问。分享私有文件推荐使用FileProvider。
3将下载位置设置为公共位置的旧版本仍然能够使用COLUMN_LOCATION_FILENAME访问其其路径,但强烈反对。访问DownloadManager公开的文件应使用ContentResolver.openfileDescriptor()。
四、应用间共享文件
N禁止应用向外公开file://URI。若要达到应用间共享文件,使用FileProvider,发送content://URI,并授予临时访问权限。
五、无障碍改进
对代码没有太大影响。
六、屏幕缩放
系统可设置屏幕密度。
当设备密度发生改变时:
1. 23以下(含)后台进程讲自动终止(和系统处理OOM一样),前台进程则会收到configurationChanged(就像屏幕方向发生改变)。
2. 面向N的则会收到configurationChanged
本功能基本不需要改变就能支持,但要注意:
1. 你的应用可以在宽度sw320dp的设备充分运行。
2. 注意你与密度有关的缓存资源,建议保存这些资源的元数据来决定是否需要刷新数据
3. 尽量避免使用xp单位
七八九十 设置中的视觉设置,NDK,Android for Work,注释保留
没用到,暂不归纳。
十一、其他注意事项:
1 在N的设备上运行 面向低级别API开发的应用,密度改变时系统依旧终止后台进程,应保证可正常处理此情况,否则用户从最近使用记录中恢复应用时会导致崩溃。使用DDMS终止进程来模拟此情况进行测试。
2.N以上应用可以正常处理密度变化,可改变Setting>Display>Font size随后在最近记录中恢复应用来测试。
3.修复部分主线程网路请求没Exception的BUG
4.Debug.startMethodTracing()输出到共享储存空间的包名目录的特定目录中,不在需要WRITE_EXTERNAL_STORAGE
5.Binder储存发送大数据将引发RuntimeException
6.View未在窗口时发布Runnable任务,该任务将排队到附加到窗口后执行。
7.N上,DELETE_PACKAGES应用调用PackageInstaller.uninstall()返回 STATUS_PENDING_USER_ACTION。
android 7.0变化的更多相关文章
- Android 5.0 API
Android 5.0 (LOLLIPOP) 为用户和应用开发者提供了新功能.本文旨在介绍其中最值得关注的新 API. 如果您有已发布的应用,请务必看一看 Android 5.0 行为变更,了解您的应 ...
- Android 5.0 API新增和改进
开始开发 要构建 Android 5.0 版应用,您必须先下载 Android SDK,然后使用 SDK 管理器下载 Android 5.0 SDK 平台和系统映像. 更新您的目标 API 级别 要进 ...
- Android 6.0 运行时权限处理完全解析
一.概述 随着Android 6.0发布以及普及,我们开发者所要应对的主要就是新版本SDK带来的一些变化,首先关注的就是权限机制的变化.对于6.0的几个主要的变化,查看查看官网的这篇文章http:// ...
- android 7.0 学习笔记(一)
导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Do ...
- 有史来最大改变 Android 5.0十大新特性
有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 ) 距离Android系统上一次重大更新不到一年的时间,谷歌 ...
- 【译】Android 6.0 Changes (机翻加轻微人工校对)
Android 6.0 Changes In this document Runtime Permissions Doze and App Standby Apache HTTP Client Rem ...
- 谈谈Android 6.0运行时权限理解
前言 谷歌在2015年8月份时候,发布了Android 6.0版本,代号叫做“棉花糖”(Marshmallow ),其中的很大的一部分变化,是在用户权限授权上,或许是感觉之前默认授权的不合理,现在6. ...
- Google Android 6.0 权限完全解析
注:本文只针对Google原生Android系统有效, 小米魅族等手机有自己的权限机制, 可能不适用 一.运行时权限的变化及特点 新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是 ...
- Android 4.0 事件输入(Event Input)系统
参考:http://blog.csdn.net/myarrow/article/details/7091061 1. TouchScreen功能在Android4.0下不工作 原来在Android2. ...
随机推荐
- StormNimbus集群保证CAP流程
Nimbus启动时,检查当前本地是不是有所有的topology的代码,同时去申请获取leader锁,如果某台nimbus节点成为了集群的leader,会再去检查一次当前本地的代码是不是包含所有活动状态 ...
- Jupyter Notebook 27绝技——27 Jupyter Notebook tips, tricks and shortcuts
转载自:https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter notebook, formerly ...
- 杭电ACM1002
原题:http://acm.hdu.edu.cn/showproblem.php?pid=1002 #include <stdio.h> #include <string.h> ...
- http 301和302的区别
1.什么是301转向?什么是301重定向? 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种, ...
- local认证
文件路径 用途 示例 备注 #gedit /usr/local/etc/raddb/sites-available/default #gedit /usr/local/etc/raddb/sites- ...
- CSS之立体球体
<!DOCTYPE html><html><head> <title>球体</title> <meta charset="u ...
- Pegasos: Primal Estimated sub-GrAdient Solver for SVM
Abstract We describe and analyze a simple and effective iterative algorithm for solving the optimiza ...
- 遗传算法的C语言实现(一):以非线性函数求极值为例
以前搞数学建模的时候,研究过(其实也不算是研究,只是大概了解)一些人工智能算法,比如前面已经说过的粒子群算法(PSO),还有著名的遗传算法(GA),模拟退火算法(SA),蚁群算法(ACA)等.当时懂得 ...
- Java并发编程学习笔记(二)——对象的共享
主要概念:可见性.重排序.失效数据.最低安全性.发布.逸出.线程封闭(Ad-hoc.栈封闭.ThreadLocal类).不变性.Final域.事实不可变对象. 1.在没有同步的情况下,编译器.处理器以 ...
- PKU 1007
题名:DNA排序 题意:给定字符串长度.个数,计算每个字符串的逆序数,然后从大到小排列,有兴趣的可以去看下原题. 计算字符串逆序数,然后排序,这里使用了快速排序算法,string释放的时候竟然有问题, ...