• TrafficStats

Java层流量统计接口。

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

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

  • TrafficStats.getMobileRxPackets 实现解析

获得所有mobile类型的interface

NetworkStatsService.getMobileIfaces()

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

nativeGetIfaceStat() --> getIfaceStat() -> parseIfaceStat()

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

  • TrafficStats.getUidTxBytes()实现解析
getUidTxBytes

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

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

http://androidxref.com/5.0.0_r2/xref/frameworks/base/core/jni/android_net_TrafficStats.cpp#parseUidStats

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

http://agolovatyuk.blogspot.com/2012/04/android-traffic-statistics-inside.html

http://developer.android.com/reference/android/net/TrafficStats.html

android 数据流量统计相关推荐

  1. Android:全面详细的解析Android数据流量统计流程与分析方法(流量检测、流量监控、流量提示)相关类PhoneStateListener,dcTracker,TrafficStats

    作者:GentlemanTsao https://blog.csdn.net/GentelmanTsao 每篇一格言 Stay hungry,stay foolish! --Steve Jobs 文章 ...

  2. android app 流量统计

    https://blog.csdn.net/yzy9508/article/details/48300265 | android 数据流量统计 - CSDN博客 https://blog.csdn.n ...

  3. android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用-Go语言中文社区...

    在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...

  4. android tun0 流量统计,Android应用流量统计——NetworkStatsManager使用(示例代码)

    在没有Root的情况下,Android应用流量统计在6.0之前一直没有太好的办法,官方虽然提供了TrafficStats,但其主要功能是设备启动以来流量的统计信息,和时间信息无法很好的配合.最近再看T ...

  5. openstack资源统计监控系列之ceilometer+gnocchi获取VM虚拟机网卡数据流量统计项目实战及实现源码(四)

    在做openstack资源统计监控中通过ceilometer+gnocchi获取cpu.memory的使用率,获取VM虚拟机网卡数据流量统计,虚拟机多网卡分别获取流量统计以及针对虚拟机实例进行总的流量 ...

  6. Android设备网络数据流量统计

    统计自设备启动以来的流量. JSONObject jsonObject = new JSONObject();//获取通过Mobile连接收到的字节总数,但不包含WiFi.long mobileRxB ...

  7. android 双卡流量统计,android流量统计

    android流量统计 (2012-07-31 12:28:34) 标签: 杂谈 研究过一段时间的android流量统计 发个自己的总结帖 1 android有一个TrafficStats类可以直接获 ...

  8. android App流量统计

    主要讲述关于android流量的简介,如何使用TrafficStats获取流量,并设计一个完整的APP流量统计,最后深入了解如何通过其它方式更准确地获取流量统计. android流量简介 流量统计文件 ...

  9. Android开发——流量统计

    1. 获取应用UID 在设备的proc目录下我们可以看到一些比较熟悉的目录/文件,比如data,system,cpuinfo(获取CPU信息)等,其中uid_stat的各个以应用Uid命名的目录下,便 ...

最新文章

  1. 对口令协议的几种攻击方式
  2. 2021年春季学期-信号与系统-第十三次作业参考答案-第四小题
  3. 开发视频监控系统纪实 四 开康开发dll 修正
  4. 【代码笔记】iOS-二维码
  5. 从 k8s 上卸载 KubeSphere
  6. 提升JSP应用程序的七大秘籍绝招
  7. 终于!商汤科技开源DAVIS2017视频目标分割冠军代码
  8. IDEA项目目录里下找不到src,但是src确实存在的的解决方案
  9. 2020-08-09
  10. 51单片机外设篇:红外通信
  11. Trafodion建表之使用多温度特性
  12. 计算机毕业设计ssm基于HTML5的环保公益网站d4sf1系统+程序+源码+lw+远程部署
  13. 软件体系结构——面向对象风格
  14. 数据倾斜的原因及解决方案
  15. 去哪查阅ISO国际标准?
  16. DP12 龙与地下城游戏问题
  17. C语言输出不能被3整除
  18. 基于ssm应届毕业生在线职位管理平台
  19. 科技爱好者周刊(第 221 期):全世界最繁荣的行业
  20. 机器人误触发动作监控原因分析

热门文章

  1. 用结构体指针指向(-)或结构体变量加点(.)后不出现结构体成员
  2. 基于 NXP S32K116 PJF7992 的 PEPS 评估板方案
  3. php动态模拟时钟,使用canvas制作简易实时动态时钟
  4. Netcracker提供NFV市场和集成服务
  5. threadpool的数量_多线程之旅(11)_如何限制系统线程池ThreadPool的最大最小并发数量_SetMaxThreads/SetMinThreads用法...
  6. python爬虫小项目挣钱兼职高雅推荐日结_我用Python爬虫挣钱的那些事
  7. 认识Google推荐的发布格式abb(Android App Bundle)
  8. python实现qq自动点赞_Python实现QQ自动点赞
  9. Java中 遍历 ArrayList的三种方法
  10. 透明度以及CSS3的新特性