Android N 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。 本文重点介绍您应该了解并在开发应用时加以考虑的一些重要变更。
如果您之前发布过 Android 应用,请注意您的应用可能受到这些平台变更的影响。
电池和内存
Android N 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更。 这些变更可能会影响您的应用访问系统资源,以及您的系统通过特定隐式 Intent 与其他应用互动的方式。
低电耗模式
Android 60(API 级别
23)引入了低电耗模式,当用户设备未插接电源、处于静止状态且屏幕关闭时,该模式会推迟 CPU 和网络活动,从而延长电池寿命。而 Android N
则通过在设备未插接电源且屏幕关闭状态下、但不一定要处于静止状态(例如用户外出时把手持式设备装在口袋里)时应用部分 CPU
和网络限制,进一步增强了低电耗模式。
图 1 低电耗模式如何应用第一级系统活动限制以延长电池寿命的图示。
当设备处于充电状态且屏幕已关闭一定时间后,设备会进入低电耗模式并应用第一部分限制: 关闭应用网络访问、推迟作业和同步。 如果进入低电耗模式后设备处于静止状态达到一定时间,系统则会对 PowerManagerWakeLock、AlarmManager 闹铃、GPS
和 Wi-Fi 扫描应用余下的低电耗模式限制。 无论是应用部分还是全部低电耗模式限制,系统都会唤醒设备以提供简短的维护时间窗口,在此窗口期间,应用程序可以访问网络并执行任何被推迟的作业/同步。
图 2 低电耗模式如何在设备处于静止状态达到一定时间后应用第二级系统活动限制的图示。
请注意,激活屏幕或插接设备电源时,系统将退出低电耗模式并取消这些处理限制。 此项新增的行为不会影响有关使您的应用适应 Android 60(API 级别 23)中所推出的旧版本低电耗模式的建议和最佳实践,如低电耗模式和应用待机模式优化中所讨论。
您仍应遵循这些建议(例如使用 Google Cloud Messaging (GCM) 发送和接收消息)并开始安排更新计划以适应新增的低电耗模式行为。
Project Svelte:后台优化
Android N 删除了三项隐式广播,以帮助优化内存使用和电量消耗。 此项变更很有必要,因为隐式广播会在后台频繁启动已注册侦听这些广播的应用。 删除这些广播可以显著提升设备性能和用户体验。
移动设备会经历频繁的连接变更,例如在 Wi-Fi 和移动数据之间切换时。 目前,可以通过在应用清单中注册一个接收器来侦听隐式 CONNECTIVITY_ACTION广播,让应用能够监控这些变更。
由于很多应用会注册接收此广播,因此单次网络切换即会导致所有应用被唤醒并同时处理此广播。
同理,应用可以注册接收来自其他应用(例如相机)的隐式 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO 广播。
当用户使用相机应用拍摄照片时,这些应用即会被唤醒以处理广播。
为缓解这些问题,Android N 应用了以下优化措施:
面向 Android N 开发的应用不会收到 CONNECTIVITY_ACTION 广播,即使它们已有清单条目来请求接受这些事件的通知。
在前台运行的应用如果使用BroadcastReceiver 请求接收通知,则仍可以在主线程中侦听 CONNECTIVITY_CHANGE。
应用无法发送或接收 ACTION_NEW_PICTURE 或 ACTION_NEW_VIDEO 广播。此项优化会影响所有应用,而不仅仅是面向
Android N 的应用。
如果您的应用使用任何 Intent,您仍需要尽快移除它们的依赖关系,以正确适配 Android N 设备。 Android 框架提供多个解决方案来缓解对这些隐式广播的需求。 例如,JobScheduler API
提供了一个稳健可靠的机制来安排满足指定条件(例如连入无限流量网络)时所执行的网络操作。 您甚至可以使用JobScheduler 来适应内容提供程序变化。
如需了解有关 Android N 中后台优化以及如何改写应用的详细信息,请参阅后台优化。
权限更改
Android N 做了一些权限更改,这些更改可能会影响您的应用。
系统权限更改
为了提高私有文件的安全性,面向 Android N 或更高版本的应用私有目录被限制访问 (0700)。 此设置可防止私有文件的元数据泄漏,如它们的大小或存在。 此权限更改有多重副作用:
私有文件的文件权限不应再由所有者放宽,为使用 MODE_WORLD_READABLE 和/或 MODE_WORLD_WRITEABLE 而进行的此类尝试将触发SecurityException。
注:迄今为止,这种限制尚不能完全执行。 应用仍可能使用原生 API 或 File API 来修改它们的私有目录权限。 但是,我们强烈反对放宽私有目录的权限。
传递软件包网域外的 file:// URI 可能给接收器留下无法访问的路径。 因此,尝试传递 file:// URI 会触发 FileUriExposedException。 分享私有文件内容的推荐方法是使用 FileProvider。
DownloadManager 不再按文件名分享私人存储的文件。
旧版应用在访问 COLUMN_LOCAL_FILENAME 时可能出现无法访问的路径。
面向 Android N 或更高版本的应用在尝试访问 COLUMN_LOCAL_FILENAME 时会触发 SecurityException。
通过使用DownloadManagerRequestsetDestinationInExternalFilesDir() 或 DownloadManagerRequestsetDestinationInExternalPublicDir() 将下载位置设置为公共位置的旧版应用仍可以访问 COLUMN_LOCAL_FILENAME 中的路径,但是我们强烈反对使用这种方法。
访问由 DownloadManager 公开的文件的首选方式是使用 ContentResolveropenFileDescriptor()。
应用间共享文件
对于面向 Android N 的应用,Android 框架执行的 StrictMode API
政策禁止向您的应用外公开 file:// URI。 如果一项包含文件 URI 的 Intent 离开您的应用,应用失败,并出现 FileUriExposedException 异常。
若要在应用间共享文件,您应发送一项 content:// URI,并授予 URI 临时访问权限。 进行此授权的最简单方式是使用 FileProvider 类。
如需有关权限和共享文件的更多信息,请参阅共享文件。
无障碍改进
为提高平台对于视力不佳或视力受损用户的可用性,Android N 做出了一些更改。这些更改一般并不要求更改您的应用代码,不过您应仔细检查并使用您的应用测试这些功能,以评估它们对用户体验的潜在影响。
用户最大的改变可能就是对于手机运行速度和运行存储空间之间的不同。
手机运行存储空间从最早的512M到现在8G,但是可用存储空间占比并没有得到实际的改变。这也是Android在开发的过程中并没有减小对存储空间的需求导致。
从Android60到当前的70,客户更多的是感受到更新软件和安装速度之快,其他的并没有什么实质感受,其实这主要得益于我国沿用Android的过程中,对其进行了深度的加工,形成自己特色的UI。
当前最成功的UI有,小米MIUI和魅族flme等,这些厂商在拿到Android的授权之后,对其进一步的加工开发,形成有中国自己特色的产品UI,这些会更加的便利和符合我们用户的使用习惯。拿现在MIUI来说,每周更新一次已经是MIUI的制胜法宝,可以说随着MIUI的更新,逐渐会加入许多我们国人的使用习惯的设计,在许多操作系统中即使最新的Android70没有的功能,我们也能在MIUI的设计中看到,可以说不需要跟随Android的发展就能够更快的体验到最新系统的好处,这也是国内UI得天独厚的。
安卓60和70区别对比:
系统启动速度,安卓60只用了大约7秒钟,安卓70则超过10秒钟。
应用启动速度,安卓70也明显慢一些,至少看不到加快。
应用安装速度,安卓70终于给力一把,比安卓60快了足足一倍。
测试跑分:
GeekBench 4:1218/2281、687/1903
BaseMark OS II:1410、498
PCMark:4287、4244
3DMark:1233、1128
除了两个Mark项目基本接近之外,其他都大幅度落后,BaseMark OS II尤其慢了足足2/3。新系统和测试工具之间的相互优化还不到位。虽然测试成绩差这么多,但是实际体验安卓70、安卓60并没有太大的不同。
安卓70和安卓60的区别在于:代号不同,API等级不同,特色功能不同。
一、代号不同
1、根据Android系统以往的惯例,每一代新系统往往会根据其字母代号,对应一个关于零食的全名。Android 70最终官方代号,定名为“Nougat”(牛轧糖)。
2、Android 60最终官方代号为“Marshmallow”(棉花糖)。
二、API等级不同
1、Android 70的API等级为24 – 25。
2、Android 60的API等级为23。
三、特色功能不同
1、Android 70的新特色功能包括分屏多任务、夜间模式、流量保护模式、改进的Doze休眠机制、无缝更新等。
2、Android 60的新特色功能包括锁屏下语音搜索、指纹识别、Doze电量管理等。
安卓系统升级到70的方法:
1、打开手机的更新管理将手机会员服务APP更新到最新版本。
2、打开手机会员服务,点击主页面的“服务”选项。
3、在服务界面下,点击“升级申请”选项。
4、点击后自动跳转到图示界面,点击“申请”。
5、继续点击“系统更新”。
6、下载完成后即可更新到安卓70版本。
安卓70于昨天正式在谷歌大会上亮相,该系统不仅带来了“白日梦”VR功能,而且支持Vulkan API 功能,同时还大大提升了手机的性能哟,那么安卓70系统流畅度怎么样下面清风小编就给大家介绍下安卓70系统流畅度。首先,Android 70在系统动画、操作的流畅性都比棉花糖有了大幅度的提升,动画配合上Material Design的设计绝对是原生系统的魅力。这也是谷歌近年来一直在提升的点,从外媒的体验视频来看,“安卓不流畅”这句吐槽估计不会适用于Android 70。原生分屏模式新功能方面,Android 70原生将支持分屏多任务操作,我们在多任务界面长按某款应用将它拖动到屏幕的顶部即可跳转到分屏模式。竖屏和横屏状态下也都支持,使用起来的速度同样是非常流畅。下拉通知栏以及开关另一项改变较大的点是在下拉开关以及通知中心上,Android 70的下拉开关被缩减至了顶部的一小行,用户能把重要的5个开关放到这里,并且此状态下的按钮是支持长按呼出相应设置页面的。 当然,你还是可以通过右上角的“更多”按钮来呼出全部快捷开关进行使用或者调整。其他小改动 与此同时,Android 70中加入了名为“Data Saver”的新功能,开启它后我们可以让一些应用(用户设置)在后台使用时不会偷跑流量,感觉还是蛮实在的。为了解决某些应用偷跑流量的问题,谷歌也是想出了这样的办法。 由此可以看出,安卓70系统流畅度是非常不错的,它已经非常接近IOS了哟,想升级的朋友可以快速下载升级哟。
安卓系统通用的一个缺点就是,用的时间越长,手机会越慢。安卓70还没有全面普及,如果你买的那个手机的系统已经达到安卓70的,可以直接用安卓70要比安卓60要好。如果你的手机现在用的版本还不是安卓70,建议尽量不要刷机,因为好多机子还没有适配。
android60 的优缺点
优点:极大的优化了流畅度,并加入了更多模块,美观度爆满。
缺点:还在做测试,有尚不明确的bug,某些应用可能会闪退。
欢迎分享,转载请注明来源:品搜搜测评网