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