android 流量的统计

1 android架构对流量的统计通过一个TrafficStats类可以直接获取

获取总接受流量TrafficStats.getTotalRxBytes(),

获取总发送流量TrafficStats.getTotalTxBytes());

获取不包含WIFI的手机GPRS接收量TrafficStats.getMobileRxBytes());

获取不包含Wifi的手机GPRS发送量TrafficStats.getMobileTxBytes());

统计某一个进程的总接收量TrafficStats.getUidRxBytes(Uid));

统计某一个进程的总发送量TrafficStats.getUidTxBytes(Uid));

这些获取的流量都是从一次开机到读取时刻的统计量。

所以,统计某一个程序的流量统计的时候,一定要注意开关机,和本次开机后是第几次启动本程序。

2 android的TrafficStats类

前四个读取的/proc/net/dev里面的数据

后面的两个接口对某一个进程的流量统计的是/proc/uid_stat/*** 接口里面的节点 数据

package cn.sunzn.trafficmanger;

import android.app.Activity;

import android.net.TrafficStats;

import android.os.Bundle;

import android.view.Menu;

public class MainActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

/** 获取手机通过 2G/3G 接收的字节流量总数 */

TrafficStats.getMobileRxBytes();

/** 获取手机通过 2G/3G 接收的数据包总数 */

TrafficStats.getMobileRxPackets();

/** 获取手机通过 2G/3G 发出的字节流量总数 */

TrafficStats.getMobileTxBytes();

/** 获取手机通过 2G/3G 发出的数据包总数 */

TrafficStats.getMobileTxPackets();

/** 获取手机通过所有网络方式接收的字节流量总数(包括 wifi) */

TrafficStats.getTotalRxBytes();

/** 获取手机通过所有网络方式接收的数据包总数(包括 wifi) */

TrafficStats.getTotalRxPackets();

/** 获取手机通过所有网络方式发送的字节流量总数(包括 wifi) */

TrafficStats.getTotalTxBytes();

/** 获取手机通过所有网络方式发送的数据包总数(包括 wifi) */

TrafficStats.getTotalTxPackets();

/** 获取手机指定 UID 对应的应程序用通过所有网络方式接收的字节流量总数(包括 wifi) */

TrafficStats.getUidRxBytes(uid);

/** 获取手机指定 UID 对应的应用程序通过所有网络方式发送的字节流量总数(包括 wifi) */

TrafficStats.getUidTxBytes(uid);

}

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

}

Android OS下有几个应用是集体的,包括(Android系统、设置存储、设置、系统用户界面、miui)

OS里面的各个模块的流量统计都算到OS 1000的流量,如果某一模块出问题就不能够揪出来,可以创建接口分别计算。

android 流量的统计,布布扣,bubuko.com

时间: 2024-10-13 21:28:24

android 流量的统计的相关文章

Android流量统计TrafficStats类

对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提供的文件对象系统类型的文本进行解析. android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为 long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计. static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFi stati

Android流量统计TrafficStats类的使用

转自http://gundumw100.iteye.com/blog/1294167 对于Android流量统计来说在2.2版中新加入了TrafficStats类可以轻松获取,其实本身TrafficStats类也是读取Linux提 供的文件对象系统类型的文本进行解析.android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为 long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计. static long getMobileRx

[Android Traffic] android 流量计算方法

android流量简介 流量统计文件:路径/proc/net/dev 打开文件,其中 lo 为本地流量, rmnet0 为3g/2g流量, wlan0 为无线流量. 在/sys/class/net/下 可以找到相关类别(如rmnet0)的目录.在其子目录statistics下游rx_bytes和tx_bytes记录收发流量. 在/proc/uid_stat/{uid}/tcp_rcv记录该uid应用下载流量字节,/proc/uid_stat/{uid}/tcp_snd有该uid应用上传流量字节

Android 流量分析 tcpdump & wireshark

APP竞争已经白热化了,控制好自己Android应用的流量可以给用户一个良好的用户体验噢,给用户多一个不卸载的理由. Android 如何进行流量分析?用好tcpdump & wireshark这两个工具就好了. 1.tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ] tcp

Android应用耗电量统计,无需USB连接

Android应用耗电量统计一直是一个很头疼的问题,手工统计耗时太长,自动化统计又不是非常精准(执行自动化代码需要通过USB连接,而USB又会充电,这就造成统计数据不准).后来从前辈那里得知可以通过adb connect来实现无线连接,下面就来说说方法. 1.首先找到一台已经root的手机 2.使手机与PC处于同一个网段 3.下载安装Wireless ADB 4.打开Wireless ADB,勾选Wireless ADB,设置端口(默认5555,被占用时设置) 5.打开pc的CMD窗口,输入ad

android一种统计工具Flurry的使用说明

Flurry的相关JAR包和文档:http://download.csdn.net/detail/baidu_nod/7739881 在libs里加上Flurry的jar包 可以写一个Flurry的管理类: public class FlurryTypes { public static final String DOWNLOAD_BOOK = "down load book"; public static final String BOOK_NAME = "book_nam

android 流量统计

1 android通过架构流量统计TrafficStats类可以直接获得 获得总流量受理TrafficStats.getTotalRxBytes(), 获得总传出流量TrafficStats.getTotalTxBytes()); 获取不包括WIFI的手机GPRS接收量TrafficStats.getMobileRxBytes()); 获取不包括Wifi的手机GPRS发送量TrafficStats.getMobileTxBytes()); 统计某一个进程的总接收量TrafficStats.get

android流量统计

android.net.TrafficStats类中,提供了多种静态方法,可以直接调用获取,返回类型均为long型,如果返回等于-1代表 UNSUPPORTED 当前设备不支持统计.    static long  getMobileRxBytes()  //获取通过Mobile连接收到的字节总数,这里Android123提示大家不包含WiFi   static long  getMobileRxPackets()  //获取Mobile连接收到的数据包总数   static long  get

[Android] 深入浅出Android App耗电量统计

reference to : http://www.cnblogs.com/hyddd/p/4402621.html 前言 在Android统计App耗电量比较麻烦,直至Android 4.4,它仍没公开“电量统计”API或文档……额,是的,仅没有公开,并不是没有.平时在手机“设置- 电量”看到的数据 就是系统调用内部API的统计结果. 基础概念 1. 手机由众多“部件”组成,所谓“部件”是指:CPU,WIFI,GPS....所以,Android App消耗总电量为 App运行过程中,涉及各部件