移动数据流量费用高昂,在大众普遍无法承担数据服务费用的地方更是如此。因此,Android 用户迫切希望能够降低应用的数据使用量,或完全阻止应用使用数据流量。Android 7.0 版本中的流量节省程序为用户提供了这项功能。

流量节省程序功能可由用户开启或关闭。应用开发者应使用新的 API 来检查流量节省程序模式是否已开启。如果已开启,则应用开发者可以调整其应用以降低或杜绝流量消耗,从而妥善应对这种情况。

这项功能为最终用户带来极大的好处,因为他们将能够决定哪些应用可以在后台使用流量,而哪些应用只能在前台使用流量。这样就可以确保在流量节省程序处于开启状态时(根据用户设置),实现所需的后台数据流量限制。

实现

由于流量节省程序是平台中的一项功能,因此在默认情况下,设备制造商可在 N 版本中获得相关功能。请在以下位置查找源文件:

packages/apps/Settings/src/com/android/settings/datausage

设置界面

Android 开源项目 (AOSP) 中提供了默认的“流量节省程序设置”界面。有关示例,请查看以下屏幕截图。

这些屏幕截图显示了使用中的流量节省程序模式。

图 1. 关闭/开启流量节省程序

图 2. 省电模式和流量节省程序同时开启

图 3. 特定应用流量使用情况屏幕:“Settings”>“Apps”>“Data usage”

图 4. “Quick Settings”菜单中的流量节省程序状态

应用

重要提示:设备实现人员不得将应用列入白名单。即使他们这样做,用户也可以移除这类应用。如果在设备中加入了其他应用,可能会迫使用户决定针对这些应用使用流量节省程序。

所有应用开发者(包括在设备上预加载应用的 OEM 和运营商)都必须采取相应措施来实现流量节省程序。请参阅 developer.android.com 上的流量节省程序,了解有关检测和监控流量节省程序状态的应用开发者说明。合作伙伴可参阅下文以获得更多实用信息。

要针对流量节省程序模式进行优化,应用需要满足以下几点:

移除不必要的图片

为剩余图片使用低分辨率

使用低比特率视频

触发现有的“精简”体验

压缩数据

留意按流量计费/不按流量计费网络的状态(即使流量节省程序已关闭)。

另外,要良好地配合流量节省程序,应用不得:

自动播放视频

预提取内容/附件

下载更新/代码

要求列入白名单(除非实现核心功能需要在后台使用流量)

将列入白名单视为使用更多流量的许可

验证

实现人员可以运行以下 CTS 测试,从而确保其功能版本能够按预期运行。

com.android.cts.net.HostsideRestrictBackgroundNetworkTests

此外,还可以先运行以下命令来查看所有可用选项,从而使用 adb 命令手动执行测试:

adb shell cmd netpolicy

例如,以下命令将返回已列入白名单的应用的 UID:

adb shell cmd netpolicy list restrict-background-whitelist

android开发 节省流量,流量节省程序模式  |  Android 开源项目  |  Android Open Source Project...相关推荐

  1. Android开发-创建安卓工程项目+安卓程序的运行

    文章目录 前言 一.为什么学习Android 1.1.什么是Android 1.2.Android的特点 1.3.Android开发的前景 二.Android studio 三.创建安卓工程项目 四. ...

  2. 【开源项目----Android OPenGLES渲染YUV视频文件】

    [开源项目----Android OPenGLES渲染YUV视频文件] OpenGLES对YUV渲染相关文章参考

  3. android开发实战经典!帮助程序员提高核心竞争力的30条建议,灵魂拷问

    现在的IT行业竞争压力越来越大,尤其是Android开发行业.而很多Android程序员却每天都在重复CRUD,原地徘徊! 今年年初,你就想改变现状,于是在网上刷了大量面试题,强行记下之后,开始参加面 ...

  4. Android开发笔记(九十)建造者模式

    基本概念 建造者模式是一种常用的设计模式,它用于把类的表现和构建分离开来.引入建造者模式的缘由,且看博主下面细细道来. 公开属性 一般我们定义一个类的属性,如果属性是公开的,那可以直接对该类的属性赋值 ...

  5. 谷歌官方推荐《Android开发入门精编》,极致经典,堪称Android入门教程的天花板

    我仍记得2015年我决定做安卓开发的那天,这是我一生中做出的最好决定之一.到现在已经接近7年,最初的时候,并没有人告诉我如何做才是正确的.我犯了很多错误,浪费了很多时间. 两年之后,我进入谷歌,我有机 ...

  6. android开发三大框架!毕业一年萌新的Android大厂面经,2年以上经验必看

    不是安卓不行了,是你跟不上了 我的很多读者都在反馈说,现在一个岗位可以收到的简历数,是前几年的几倍.我们必须承认,僧多粥少就是 Android 行业的现状,别说初中级工程师,就是高级工程师也是一抓一大 ...

  7. Android开发技术前线 (android-tech-frontier) --优质技术文章的聚合项目

    Android开发技术前线 ( android-tech-frontier ) Android开发技术前线一个定期翻译.发布国内外Android优质的技术.开源库.软件架构设计.测试等文章的开源项目, ...

  8. Android开发知识体系!这份354页笔记的Android进阶知识+大厂高频面试题,薪资翻倍

    说起IT行业,大多数人脑海里反应出的第一个标签一定是"高薪",而说起程序员,大家更多想到的可能是: 秃顶.木讷.格子衫: 加班多.能赚钱.不花钱: 没对象-- 甚至很多人还说&qu ...

  9. android开发获取应用本身耗电量_别找了,Android常用自动化工具全在这儿了!

    Android常用自动化工具 ADB - 是Google提供的为Android编写UI测试用例的自动化工具, Android开发/测试人员不可替代的强大工具 uiautomator - 是Google ...

  10. go语言1.4版本将支持面向android开发,[翻译]Go语言1.4版本将支持面向Android开发

    Go语言将支持Android 概述 我们建议将Go语言引入Android平台,重点是用Go语言编写游戏程序,API将在Android NDK中定义. 背景 Android平台被设定为一个多应用操作系统 ...

最新文章

  1. 斑马888t打印机墨盒安装_硒鼓?墨盒?究竟哪个才是打印机的“灵魂伴侣”?...
  2. android程序表白,几条曲线构建Android表白程序
  3. 【华为云技术分享】云小课 | 初识HiLens Kit,解锁更多智慧应用场景
  4. flash跟随鼠标样式
  5. python中文件打开的合法模式组合_python中各种文件打开模式
  6. linux命令行用户登录,Linux终端以及用户登录相关命令
  7. 深耕MySQL - 50道SQL练习题
  8. 抖音无水印下载不求人
  9. win7计算机桌面文件位置更改,Win7系统怎么更改桌面文件路径_win7修改桌面文件保存路径的方法...
  10. JavaScript的API文档自动生成工具jsdoc
  11. 表设计原则_表格设计原则
  12. 轻松解决汉字和拼音转换问题!!
  13. 2018阿里菜鸟无人仓一面面经
  14. 利用非约束性委派+Spooler打印机服务 制作黄金票据攻击域控
  15. Android小心心动画
  16. VMware虚拟机使用虚拟机网络编辑器NAT模式配置网络图文教程,实现联网功能并测试
  17. 信道容量、数字基带与带通传输系统误码率公式整理
  18. 电脑无法识别(读取)U盘
  19. 游戏开发人员眼中的Unity 3D网页游戏測评报告
  20. PPT使用技巧 二 调整PPT文字和图片的层级关系

热门文章

  1. android统计app使用时间段,GitHub - yaozs/UseTimeStatistic: Android 系统中统计各个app的使用时长以及使用次数...
  2. 淘宝直通车什么情况能退款?怎么退?
  3. css样式鼠标放上去变成手的形状
  4. 戏说中国互联网5大巨头
  5. android 视频解决方案,短视频SDK升级为短视频解决方案
  6. 杭州拒绝车辆“带病”上路 OBD在线接入实现排放动态监管
  7. POJ 1419-Graph Coloring
  8. 数据结构和算法(32)之背包问题
  9. 企业数字化转型 CIO需遵循三大原则
  10. SpringBoot 使用Prometheus采集自定义指标数据