【问题标题】:Is there a Android API to pull the CPU/Memory/Network/Disk information like Android Studio in its Monitor?是否有 Android API 可以在其监视器中提取 CPU/内存/网络/磁盘信息,如 Android Studio?
【发布时间】:2017-10-18 22:07:56
【问题描述】:

我们正在尝试找到适当的Android API 调用,以便在我们的应用程序中检索有关CPU、内存、磁盘和网络信息的详细信息,例如在其监视器中的Android Studio

我们希望为整个手机和特定目标应用程序(而不是运行监视器的应用程序,因为它将作为后台服务运行)捕获此数据。

以下是 Android Studio 的 Monitor 示例

我们已经能够找到一个 API 来监控内存,但不能监控 CPU、网络或磁盘信息。

  1. CPU 读取 /proc/stat 的文件看起来能够提供 CPU 数据,但是否有直接的 API 来调用它?
  2. 内存我们为 ActivityManager.MemoryInfo 找到了一个 API,看起来可以正常工作。
  3. 网络 我们想像 Android Studio 一样捕获网络流量,但找不到API
  4. 我们也很好奇磁盘 IO 是否有 API 用于此?

谢谢

https://i.stack.imgur.com/FJcCV.png

【问题讨论】:

    标签: java android monitoring


    【解决方案1】:

    在我们开发的一个应用程序中,我们遇到了类似的要求,这就是我们所做的。

    1. AFAIK 没有 API。要获取数据,您提到的 CPU - /proc/stats 或通过 Runtime.exec 方法执行 top 命令并解析输出将是选项。
    2. 您可以使用 ActivityManager.MemoryInfo,也可以使用 Runtime.totalMemory Runtime.freeMemory() 方法。
    3. 有关网络数据,请查看 TrafficStats (https://developer.android.com/reference/android/net/TrafficStats.html)。

    我们没有捕获磁盘 IO 统计信息 - 所以我没有任何关于该数据的信息。

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 2011-06-10
      相关资源
      最近更新 更多