您的位置:首页 > 移动开发 > Android开发

Android 7.0新特性--Data Saver

2016-11-06 22:04 281 查看
Data Saver (Android Development Patterns S3 Ep 6)

Youtube视频链接:

https://www.youtube.com/watch?v=H-9xKmuwawg&index=6&list=PLWz5rJ2EKKc-lJo_RGGXL2Psr8vVCTWjM

Data Saver目的:加强用户对设备上app数据使用的控制,以节省用户的数据流量,所以开发者需要做出更大的努力来优化app的数据使用,但是通过Data Saver和JobScheduler 可以简化开发。

在Android N (API 24)上,扩展了在MarshMallow上的Data Saver功能(用户可以禁止某一应用在位于后台时联网),现在用户可以让整个设备处于Data Saver模式,当设备处于非WIFI连接(处于移动网络)时,来限制任何应用在后台联网。

Data Saver 在7.1.1(API25)上的显示如下截图所示:







以下为官网Youtube视频中介绍:



下图左边为扩展后的Data Saver



通过getRestrictBackgroundStatus()这个API来判断Data Saver是否针对我们的app处于激活状态,通过针对不同的状态进行相关的设置,可以使得我们的应用获得更好的行为表现。

有以下三种状态,根据不同的情况,我们应该对app做相应的处理,



在app中可以用类似下面的代码段来判断当前的Data Saver状态,然后做出相应操作,

With a new API added to ConnectivityManager, you can check the current state of Data Saver and adjust your apps’ data usage



Data Saver的执行流程:



如果我们的应用不是对网络需求为即时性的,那么可以等网络变为WIFI状态下,再进行同步数据操作,使用JobScheudler可以简化这类操作。



此外,可以创建广播监听Data Saver的状态变化,可以请求用户将我们app加入白名单,可以使用adb来测试Data Savaer对我们app的影响情况,具体方法见官网介绍:

https://developer.android.com/training/basics/network-ops/data-saver.html?utm_campaign=android_series_datasaverdoc_062116&utm_source=anddev&utm_medium=yt-desc

优化app的一些建议:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android Data-Saver