android app 流量统计
https://stackoverflow.com/questions/12613402/android-statistic-3g-traffic-for-each-app-how | android statistic 3g traffic for each APP, how? - Stack Overflow
https://developer.android.google.cn/reference/android/net/TrafficStats | TrafficStats | Android Developers
https://developer.android.google.cn/ | Android Developers
PR: 按照应用统计流量消耗情况?
监听 拦截 网络 流量
TrafficStats.
--2.2之后引入了一个新的 android.net.TrafficStats类可以做到网络流量统计,可以统计总流量也可以统计单个进程的流量
Android系统将放流量数据信息保存在文件/proc/net/xt_qtaguid/stats 中(见源码)
使用TrafficStats.setThreadTag(int tag)方法标记的产生流量的线程,参数tag是上面模块相关的tag;@See TrafficStats;
NOTE:1、一个线程同时只会有一个有效的tag,并且不会传递,依赖包启动了新线程访问网络则需要依赖方提供标记支持;2、native层socket、webview产生的流量无法使用此方法标记;
TrafficStats.getUidRxBytes(myuid);
myuid是你的应用所有的uid,这个根据ActivityManager可以获取runing的程序获取到
大概就是先获取uid,然后根据那个方法获取接收流量
TrafficStats.getUidTxBytes(myuid);这个是发送流量。
这些是指开机开始计的,你想统计月什么的,自己写个方法保存叠加就是
static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi
static long getMobileRxPackets() //获取Mobile连接收到的数据包总数,不包含WiFi
static long getMobileTxBytes() //Mobile发送的总字节数
static long getMobileTxPackets() //Mobile发送的总数据包数
static long getTotalRxBytes() //获取总的接受字节数,包含Mobile和WiFi等
static long getTotalRxPackets() //总的接受数据包数,包含Mobile和WiFi等
static long getTotalTxBytes() //总的发送字节数,包