【发布时间】:2011-03-23 16:35:51
【问题描述】:
我想测量通过移动网络为我的 HTTP 请求传输和接收的数据。我在 Android 2.2 中找到了 TrafficStats API,但我从中得到的数字似乎太低了。我正在通过 3G 网络在真实设备 (HTC Desire) 上进行测量。 在请求之前计算自启动时间以来的 tx/rx 数据,然后执行 GET 请求,然后再次计算 rx/tx 数:
long bytesStart = TrafficStats.getTotalTxBytes() + TrafficStats.getTotalRxBytes();
// execute request (Apache HTTP client)
client.execute(get);
long totalBytesNow = TrafficStats.getTotalTxBytes() + TrafficStats.getTotalRxBytes();
long bytesDiff = totalBytesNow - bytesStart;
对于 bytesDiff,我得到大约 1.5KB 的数字,而它应该是 3.5KB。 totalBytes 数约为 5MB,这似乎是设备运行 10 小时的合理数据量。
我读到here on stackoverflow,数字来自文件,是不是数据没有立即刷新到文件中?或者为什么我的数字总是太低(我检查了服务器上的数据大小,它确实更大)? 这是我的 HTC Desire 设备(HTC 的 Android 2.2)的问题,TrafficStats API 是否适用于任何人?
谢谢, 马丁
【问题讨论】:
标签: android