1.概述
在13.0的系统产品开发中,移动流量消耗也是关于产品优化的一个方面,由于产品需求需要对app详情页的流量进行管控默认关闭流量开关,不让流量无故流失,所以需要从流量开关分析问题流量打开流程,然后关闭
2.系统设置 app详情页默认关闭流量数据的开关的核心类
packages/apps/Settings/src/com/android/settings/datausage/AppDataUsage.javapackages/apps/Settings/src/com/android/settings/datausage/DataSaverBackend.javaframeworks/base/core/java/android/net/NetworkPolicyManager.javaframeworks/base/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
3.系统设置 app详情页默认关闭流量数据的开关的核心功能分析和实现
NetworkPolicyManagerService(简称NPMS)是Android系统的网络策略管理者。
NPMS会监听网络属性变化(是否收费,metered)、应用前后台、系统电量状态(省电模式)、
设备休眠状态(Doze),在这些状态发生改变时,为不同名单内的网络消费者配置不同的网络策略
通过在系统设置中的源码分析得知,在系统设置中app详情页关于处理流量开关的类就是AppDataUsage.java
接下来看下AppDataUsage.java的相关流量开关功能实现