Androidアプリのインターネット消費量を確認する必要があります。アプリでは、多数のWebサービスAPIが呼び出されています。
私のアプリが一気にkB/MB単位でインターネットを消費する量を知りたいです。
どうすれば確認できますか?それを確認するツールはありますか?
表示のために、MDで説明されているように、モニターで確認できます。
保存するには、プログラムでそれを行うことができます
int UID = Android.os.Process.myUid();
rxBytes += getUidRxBytes(UID);
txBytes += getUidTxBytes(UID);
/**
* Read UID Rx Bytes
*
* @param uid
* @return rxBytes
*/
public Long getUidRxBytes(int uid) {
BufferedReader reader;
Long rxBytes = 0L;
try {
reader = new BufferedReader(new FileReader("/proc/uid_stat/" + uid
+ "/tcp_rcv"));
rxBytes = Long.parseLong(reader.readLine());
reader.close();
}
catch (FileNotFoundException e) {
rxBytes = TrafficStats.getUidRxBytes(uid);
//e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return rxBytes;
}
/**
* Read UID Tx Bytes
*
* @param uid
* @return txBytes
*/
public Long getUidTxBytes(int uid) {
BufferedReader reader;
Long txBytes = 0L;
try {
reader = new BufferedReader(new FileReader("/proc/uid_stat/" + uid
+ "/tcp_snd"));
txBytes = Long.parseLong(reader.readLine());
reader.close();
}
catch (FileNotFoundException e) {
txBytes = TrafficStats.getUidTxBytes(uid);
//e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return txBytes;
}
}
ご覧ください:Android Monitor。
その点で、監視できる多くのトピックがあります。
ネットワークモニターで実行中のアプリを表示する:
次の手順を実行します:
ネットワークモニターにネットワークトラフィックが表示され始めます。
ネットワークモニターは、デバイスがキロバイトのデータを送受信するのにかかる時間を合計します。 y軸は、キロバイト/秒です。 x軸は秒で始まり、次に分と秒、というように続きます。
参照:Androidモニター