在 android 上,如何使用TrafficStats和TrafficStatsCompat获取当前进程中特定线程的总 TX 字节数?API暗示这是可能的,但我无法弄清楚。
问问题
1494 次
1 回答
2
从文档。
为了更好地识别传输峰值的原因,Traffic Stats API 允许您使用 TrafficStats.setThreadStatsTag() 方法标记线程内发生的数据传输,然后使用 tagSocket() 和 untagSocket() 手动标记(和取消标记)各个套接字)。例如:
TrafficStats.setThreadStatsTag(0xF00D);
TrafficStats.tagSocket(outputSocket);
// Transfer data using socket
TrafficStats.untagSocket(outputSocket);
Apache HttpClient 和 URLConnection 库会根据当前的 getThreadStatsTag() 值自动标记套接字。当通过保活池回收时,这些库还会标记和取消标记套接字。
TrafficStats.setThreadStatsTag(0xF00D);
try {
// Make network request using HttpClient.execute()
} finally {
TrafficStats.clearThreadStatsTag();
}
Android 4.0 支持套接字标记,但实时统计信息只会显示在运行 Android 4.0.3 或更高版本的设备上。
于 2016-04-25T12:44:28.463 回答