android 数据流量统计

6 篇文章 0 订阅
4 篇文章 0 订阅

  • TrafficStats

Java层流量统计接口。

全局接口提供从系统启动以来所有网络及mobile网络的发送接收数据统计

对每个application(实际以UID划分),提供从系统启动以来所有网络发送接收的数据统计(不区分网络类型)


获得所有mobile类型的interface

NetworkStatsService.getMobileIfaces()

累加每个interface获得其发送数据统计

从内存文件"/proc/net/xt_qtaguid/iface_stat_all"中读取对应interface的统计值。


    
    

从文件"/proc/uid_stat/${uid}/tcp_snd", "/proc/uid_stat/${uid}/udp_snd"中读取数据

android 5.0中又有了不一样的实现:


  • 实现 时间段+网络+APP+前台后台流量统计
根据TrafficStats的分析,要实现以上维护的流量统计,需要
自行设计delta统计算法
监听网络状态切换事件
监控app状态切换事件(自行模拟)
优化:由于很多app中实际有网络访问的仅部分,对每个app调用getUidTxBytes()浪费。需要进行优化:1、过滤出具有网络访问权限的app进行统计,2、检索"/proc/uid_stat/"子目录项,获取实际有数据的uid

附录:
本人一款流量管理软件中流量统计模块代码(仅供参考),实现以上维度的流量统计并存入sqlite数据库
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值