2

Android で、TrafficStatsTrafficStatsCompatを使用して、現在のプロセスの特定のスレッドの合計 TX バイトを取得するにはどうすればよいですか? APIはそれが可能であることを暗示していますが、私はそれを理解できません。

4

1 に答える 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 に答える