一、加强版的低电耗模式

条件: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变化的更多相关文章

  1. Android 5.0 API

    Android 5.0 (LOLLIPOP) 为用户和应用开发者提供了新功能.本文旨在介绍其中最值得关注的新 API. 如果您有已发布的应用,请务必看一看 Android 5.0 行为变更,了解您的应 ...

  2. Android 5.0 API新增和改进

    开始开发 要构建 Android 5.0 版应用,您必须先下载 Android SDK,然后使用 SDK 管理器下载 Android 5.0 SDK 平台和系统映像. 更新您的目标 API 级别 要进 ...

  3. Android 6.0 运行时权限处理完全解析

    一.概述 随着Android 6.0发布以及普及,我们开发者所要应对的主要就是新版本SDK带来的一些变化,首先关注的就是权限机制的变化.对于6.0的几个主要的变化,查看查看官网的这篇文章http:// ...

  4. android 7.0 学习笔记(一)

    导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Do ...

  5. 有史来最大改变 Android 5.0十大新特性

    有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 )   距离Android系统上一次重大更新不到一年的时间,谷歌 ...

  6. 【译】Android 6.0 Changes (机翻加轻微人工校对)

    Android 6.0 Changes In this document Runtime Permissions Doze and App Standby Apache HTTP Client Rem ...

  7. 谈谈Android 6.0运行时权限理解

    前言 谷歌在2015年8月份时候,发布了Android 6.0版本,代号叫做“棉花糖”(Marshmallow ),其中的很大的一部分变化,是在用户权限授权上,或许是感觉之前默认授权的不合理,现在6. ...

  8. Google Android 6.0 权限完全解析

    注:本文只针对Google原生Android系统有效, 小米魅族等手机有自己的权限机制, 可能不适用 一.运行时权限的变化及特点 新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是 ...

  9. Android 4.0 事件输入(Event Input)系统

    参考:http://blog.csdn.net/myarrow/article/details/7091061 1. TouchScreen功能在Android4.0下不工作 原来在Android2. ...

随机推荐

  1. 读取微博feed伪代码

    // 读取我的好友fids $db = new DB(); $mc = new Memcached(); $_uid = 1; // my uid $sql = "select * from ...

  2. IOS中的Block与C++11中的lambda

    ios中的block 可以说是一种函数指针,但更确切的讲,其实际上其应该算是object-c对C++11中lambda的支持或者说是一个语言上的变体,其实际内容是一样的,C++的lambda我已经有简 ...

  3. Android 传感器

    今天介绍一下Android的传感器,开发Android传感器的步骤: 1.调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorMan ...

  4. MyEclipse Java Build Path详解

    转载自:http://blog.163.com/magicc_love/blog/static/185853662201111161580631/ 1.设置"source folder&qu ...

  5. Win7 64位ORACLE取数字乱码的解决

    参见网址http://www.2cto.com/database/201304/201767.html 首先是PLSQL DEVELOPER 直接报错 NLS_LANG 错误 第一步是在命令行下测试 ...

  6. 颜色代码表#FFFFFF #FF0000 #00FF00 #FF00FF (2015-07-21 10:39)转载

    ▼标签: 颜色代码表 白色 ffffff 红色 ff0000 黑色 000000 it     分类: hht1 白色 #FFFFFF 2 红色 #FF0000 3 绿色 #00FF00 4 蓝色 # ...

  7. RDF和Jena RDF API简介

    这是官方文章<An Introduction to RDF and the Jena RDF API>的译文.原文是在刺猬的温驯这里看到的.其中的图片没法显示了,还有一段丢失了.于是我在此 ...

  8. Java HttpGet

    String urlStr ="https://qyapi.weixin.qq.com/cgi-bin/gettoken?a=a&b=b"; URL url = null; ...

  9. Promise与Defer认识

    1.deffer对象:jquery的回掉函数解决方案:含义是延迟到未来某个点再执行: 2.$.ajax链式写法: $.ajax("test.php")     .done(func ...

  10. HTML5的form表单属性

    form:HTML4中,表单内的从属元素必须书写在<form></form>之内,但是在HTML5中,表单的从属元素可以处于页面的任何位置,然后为其添加form属性,属性值为f ...