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。

时间: 2024-10-10 03:08:36

android 7.0变化的相关文章

Android 5.0 API

Android 5.0 API 在本文档中展开 更新目标 API 级别 重要的行为变更 界面 通知 图形 媒体 存储 无线和连接 Project Volta Android 在办公和教育中的应用 系统 打印框架 测试和辅助功能 IME 清单声明 API Differences API level 20 to 21 ? L Developer Preview to 21 ? See Also Android 5.0 Behavior Changes Android Lollipop Highlig

Android 6.0 Changes

Android 6.0 变化   Android 6.0 Changes In this document 运行时权限Runtime Permissions Doze and App Standby 阿帕奇 HTTPClient 移除 Apache HTTP Client Removal OpenSSL 的分支 BoringSSL BoringSSL 访问硬件标识 Access to Hardware Identifiers 通知 Notifications 音频管理变化 AudioManage

Android 7.0行为变化—开发者应该关注的(官网同步翻译)

Android 7.0行为变化-开发者应该关注的(官网同步翻译) 版权声明:转载必须注明本文转自严振杰的博客: http://blog.yanzhenjie.com 如果想了解更多Android7.0的内容,可以顺便再看看Android7.0写给开发者的一封信(官网同步翻译). 如果你的引文够好,推荐你阅读官网文章: Android 7.0 Behavior Changes Android N 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍你应该了解并在开发应用

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

一.概述 随着Android 6.0发布以及普及,我们开发者所要应对的主要就是新版本SDK带来的一些变化,首先关注的就是权限机制的变化.对于6.0的几个主要的变化,查看查看官网的这篇文章http://developer.android.com/intl/zh-cn/about/versions/marshmallow/android-6.0-changes.html,其中当然包含Runtime Permissions. ok,本篇文章目的之一就是对运行时权限处理的一个介绍,以及对目前权限相关的库

Android 7.0 Nougat(牛轧糖)---对开发者来说

android 7.0出来了.让你的app准备迎接最新的android版本吧,支持节省电量和内存,这样新的系统行为.使用多窗口UI.直接恢复通知以及其他操作来扩展你的app. android 7.0介绍了各种各样的新功能给用户和开发者, 本文重点介绍面向开发者的一些新功能. 确保检查android 7.0的行为变化,了解有关平台的变化可能会影响你的app. 如果要了解更多的关于用户的新功能,请查看www.android.com. 1.支持多窗口 在android 7.0中,我们介绍了在支持多窗口

android studio 0.8.1使用和遇到问题解决

谷歌6月底发布了五大系统,并且android studio同步升级到了android studio 0.8.1.升级了的android studio确实有一些新的变化,运行速度变快,并且还可以选择开发不同的产品,本着尝试新技术的心情,过了一把瘾.现在和大家一起来看看. 由于GFW封了google,所以现在android studio可能有些同仁下不到,由于公司的原因,无法上传到CSDN上,有点遗憾.不过没关系,我们先睹为快,先看看东西怎么样. JDK的东西和问题我在这里就不重复讲了,直接进入安装

android 7.0 学习笔记(一)

导读 增强的Doze模式 后台优化 Data Saver 一.增强的Doze模式 Android N对Android M引进的Doze模式进行了进一步的增强,变化体现在两个方面.一方面是降低了进入Doze模式的条件,Android M中的条件是不插电,屏幕熄灭且静置一段时间,在Android N中去掉了静置的条件,这个改变大大增加了设备进入Doze模式的机会,因而使得Doze对应用程序的影响大大增加.另一方面,Doze模式被分成了两个阶段,当设备切断电源,熄灭屏幕一段时间,会进入到第一阶段,切断

谈谈Android 6.0运行时权限理解

前言 谷歌在2015年8月份时候,发布了Android 6.0版本,代号叫做“棉花糖”(Marshmallow ),其中的很大的一部分变化,是在用户权限授权上,或许是感觉之前默认授权的不合理,现在6.0出来,使得用户权限授权变得合理.这可能也是参考IOS系统的,只有在用户需要使用权限的时候,才去授权请求,这样做的目的是提高用户体验,当然,用户感觉好了,受苦的是我们开发人员,原来的规则不适用了,现在我们去适应新的规则,毕竟是靠谷歌这颗大树吃饭的嘛. 原来权限模型 在Android 6.0版本之前,

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

Android 6.0 Changes In this document Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access to Hardware Identifiers Notifications AudioManager Changes Text Selection Browser Bookmark Changes Android Keystore Changes Wi-F