【问题标题】:Android — How to track bandwidth usage by a process?Android — 如何跟踪进程的带宽使用情况?
【发布时间】:2018-10-20 20:54:37
【问题描述】:

我可以通过android.net.TrafficStats 跟踪 Android 设备的整体和每个 uid(应用程序)带宽使用情况。 但是,一个 uid 可以执行多个二进制文件来调用多个进程。

我想知道是否有任何方法或方式来获取每个进程的带宽使用情况,以便我可以追溯启动到 Internet 连接的二进制文件。

【问题讨论】:

  • 你可能需要root手机。你有这个问题吗?
  • 我希望我的应用不要请求 root。但我想知道,即使你的答案需要 root。
  • 我没有给你答案,但我相信这只能通过有根手机才能实现。
  • 那你为什么这么认为呢?我看过很多帖子都提到了在 Linux 中实现这一点的方法。

标签: android


【解决方案1】:

如果您对您的应用程序完成的网络流量感兴趣,您可以尝试AT&T ARO,您需要在 AT&T 注册(免费),但该工具非常好,它仅适用于您的应用程序完成的网络,并且您实际上可以看到正在发送和接收的数据包,并获得有关您可以改善网络使用情况的建议。

【讨论】:

    【解决方案2】:

    您可能想看看nethogs 和它的source code for Linux。作为基于Linux内核构建的Android,我相信您可以通过类似的方式实现它。

    【讨论】:

    • 嗯...这看起来很有趣,我会看看它。
    猜你喜欢
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 2011-10-08
    相关资源
    最近更新 更多