如何从特定线程获取trafficstats



在android上,我如何使用TrafficStats和TrafficStatsCompat来获取当前进程中特定线程的总TX字节?API暗示这是可能的,但我搞不清楚。

来自文档。

为了更好地确定传输峰值的原因,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或更高版本的设备上显示。

相关内容

  • 没有找到相关文章

最新更新