您好,我正在运行一个简单的下载测试,看看我的连接速度有多快。我记录了trafficStats rx值,然后下载了一个5MB的文件,记录了rx值,然后计算了差异。我知道这个文件正好是 5MB。
这是代码:
URL url = new URL(urlString);
URLConnection urlConnection = url.openConnection();
urlConnection.setConnectTimeout(connectTimeout);
urlConnection.setReadTimeout(readTimeout);
InputStream is = urlConnection.getInputStream();
// BufferedInputStream bis = new BufferedInputStream(is);
InputStream bis = new BufferedInputStream(is, 8192);
int inputFileSize = 1024;
byte[] baf = new byte[inputFileSize];
totalRxBeforeTest = TrafficStats.getUidRxBytes(uid);
int current = 0;
while ((current = bis.read(baf)) != -1) {
}
totalRxAfterTest = TrafficStats.getUidRxBytes(uid);
rxDiff = totalRxAfterTest - totalRxBeforeTest;
问题是,我应该得到大约 5242880 字节 (5MB) 的值,但我得到的值是 5414730、5408715、5413867、5426647。(从 4 次测试运行来看)我预计会有一些开销,但是这是额外的 168KB!对于 5MB 的文件来说,这似乎是一个很大的开销。我也通过 uid 使用 TrafficStats,所以它应该只是我的特定应用程序的网络统计信息。
知道什么可以解释这些额外的流量吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)