如何查看我的Android应用的网络消费情况?

时间:2016-04-19 06:43:36

标签: android api network-monitoring

我需要查看我的Android应用的互联网消费情况。在我的应用程序中,我调用了大量的Web服务API。

我想知道我的应用程序在完整的时间内以KB / MB为单位消耗了多少互联网。

我该怎么检查?有没有工具可以检查?

4 个答案:

答案 0 :(得分:25)

Android Studio 2.0 Network中引入新的Android Monitor部分,可以帮助您解决问题。

enter image description here

Tx == Transmit Bytes Rx == Receive Bytes

答案 1 :(得分:9)

有三种方式......

  1. 您可以在设备/模拟器中查看。转到设置 - >数据使用,并在列表中找到您的应用程序 Enter image description here

  2. 在Eclipse中,选择 DDMS(透视图) - >从设备中选择您的包裹(左侧) - >点击网络统计信息标签 - >点击开始 enter image description here

  3. 如前所述,在Android Studio中,转到 Android监视器(底部标签) - >网络(标签) - >寻找Tx(传输数据)/ Rx(接收数据) Enter image description here

答案 2 :(得分:7)

出于查看目的,您可以在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;
    }
}

答案 3 :(得分:6)

看看: Android Monitor

因为您可以监控许多主题。

您会找到Network Monitor

在网络监视器中显示正在运行的应用程序:

请按照以下步骤操作:

  • 连接硬件设备。
  • 显示Android监视器。
  • 单击“网络”选项卡。
  • 打开一个应用程序项目并在硬件设备上运行它。
  • 要启动网络监视器,请单击“暂停暂停”图标以取消选择它。

任何网络流量都开始出现在网络监视器中:

Enter image description here

网络监视器会增加设备传输和接收千字节数据所需的时间。 y轴以千字节/秒为单位。 x轴以秒开始,然后是分钟和秒,依此类推。

  • 要停止网络监视器,请再次单击“暂停暂停”图标以将其选中。

参考: Android Monitor