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. ...
随机推荐
- [SHTSC 2014] 信号增幅仪
最小覆盖圆算法.看着题解半蒙半抄的搞过去了… 主要参考以下http://blog.csdn.net/acdreamers/article/details/9406735http://blog.csdn ...
- Storm进程通信机制
storm的worker进程之间消息传递机制图: 每个worker都有一个独立的监听进程,监听配置文件中配置过的端口列表supervisor.slots.ports,topology.receiver ...
- android学习之EdieText组件的使用
界面如下 移通152余继彪 该界面由四个EditText组件和Button按钮还有一个通知Toast完成,首先在xml文件中添加了四个组件和一个按钮还有一个文字显示框,java代码部分为button添 ...
- linux内核学习之三 跟踪分析内核的启动过程
一 前期准备工作 1 搭建环境 1.1下载内核源代码并编译内核 创建目录,并进入该目录: 下载源码: 解压缩,并进入该目录:xz -d linux-3.18.6.tar.xz tar ...
- Python 2.7 因为少写括号导致的 SyntaxError 错误
贴代码: # -*- coding: utf-8 -*- # 控制缩进tab数量 def GetTabStr(tab_num): tab_str = "" for i in xra ...
- 初探canvas
canvas是html5新增的一个专用于图形处理的标签,利用canvas可以实现大部分图形操作canvas的一些基本操作与其他图形编程工具类似,包含:各种形状的边框.路径绘制和填充,画布属性调整,样式 ...
- SQL获取汉字首字母
)) ) as begin ) ) collate Chinese_PRC_CI_AS,letter )) insert into @t(chr,letter) select '吖','A' unio ...
- 怎样用SQL语句查询一个数据库中的所有表?
怎样用SQL语句查询一个数据库中的所有表? --读取库中的所有表名 select name from sysobjects where xtype='u'--读取指定表的所有列名select nam ...
- spring aop 声明式事务管理
一.声明式事务管理的概括 声明式事务(declarative transaction management)是Spring提供的对程序事务管理的方式之一. Spring的声明式事务顾名思义就是采用声明 ...
- Spark的WorkCount的例子
之前为了搭建scala开发spark的环境花了几天的时间,终于搞定了,具体可以参考:http://www.cnblogs.com/ljy2013/p/4964201.html .下面就是用一个示例 ...