【问题标题】:CPU usage per application in androidandroid中每个应用程序的CPU使用率
【发布时间】:2012-12-12 03:15:12
【问题描述】:

我是 android 编程的新手。我们如何在 android 中获取每个应用程序的 CPU 使用率? 你的帮助会更有帮助

【问题讨论】:

  • 您可以通过激活“开发者工具”中的选项来显示它

标签: android


【解决方案1】:

使用 adb 命令:

adb shell top -m 10

【讨论】:

  • 我想要两件事,即进程名称和它们的百分比用法。
  • 能否请您致电“adb shell dumpsys cpuinfo”与使用“top”在此处显示的信息之间的差异...因为我在这里为同一个应用程序获得了两个不同的 CPU 使用值。有什么想法吗?
  • @CoDe "adb shell dumpsys cpuinfo" 不考虑多核,所以 MAX 不是 100% 这个 top -m 10 对用户更友好,因为你看到的百分比是基于综合 CPU 使用率
【解决方案2】:

来源: Technique for indentifying android app CPU usage

  • Linux:

    adb shell top -m 10 | grep 包名

  • 窗户:

    adb shell top -m 10 | FINDSTR 包名

【讨论】:

  • +1 表示 grep 和链接。这个top 命令会定期刷新,因此可以通过应用程序的各个阶段获取 CPU 使用率。谢谢!
  • 无法在 Nexus 6P 等最新的 Android 设备上运行:请参阅顶部 --help top:最多 0 个参数
  • 链接已被入侵,它指向一个钓鱼网站。 google-en.limitedtimeoffers.website/v102102-en-A/…
【解决方案3】:

转到Settings -> Developer Tools -> Show CPU Usage

然后运行应用程序

编辑:这必须在应用程序中完成。如果你在 2019 年阅读这篇文章,请使用 CPU Profiler

【讨论】:

  • 没有其他方法可以实现吗?
  • Android 8 中没有 Settings -> Developer Tools -> Show CPU Usage。如果你的意思是 Settings -> Developer Options -> Show Running Services,这不会显示 CPU 使用情况:(
  • 更新:使用 Android Studio Profiler developer.android.com/studio/profile/cpu-profiler.html
  • “设置”在哪里?我猜你预设了 Android Studio 的使用?然而,这并不是不言而喻的。例如,我不使用它,问题一般是关于 android 的。你的答案应该提到它需要 Android Studio。
  • @pasbi 更新了答案。这些步骤适用于手机级别的使用。
【解决方案4】:

两种方法:

  • adb shell "top -n 1"
  • adb shell dumpsys cpuinfo

【讨论】:

  • 好的,如果这些数字完全不同怎么办?我的上衣会显示进程 A,大概是 12%,而 dumpsys 会说 22%...
  • @NewGuy 此顶部显示总体百分比,而 cpuinfo 不考虑多个核心。因此,如果 dumpsys cpuinfo 显示 110% 并且您有 2 个核心处理器,那么总体上是 55%。所以你通常想要的是 top 而不是 dumpsys cpuinfo
【解决方案5】:

使用新的Android Studio 3.0 profiler,您可以获得关于您的APP的CPU使用率和CPU检查的更高信息。

【讨论】:

    【解决方案6】:

    有几种方法。

    第一个是在Jelly Bean开发者选项中打开CPU使用率。

    第二个选项是在您的 windows Android SDK 文件夹中运行 adb shell top -m 10 函数或在您的 Mac/Linux 中运行 ./adb shell top -m 10

    【讨论】:

    • 假设 adb 可执行文件在当前目录是不合理的。如果您要假设它在 windows 的搜索路径中,您不妨假设它也在 unix 变体上。
    • 我想要两件事,即进程名称和它们的百分比用法。
    • 还有什么方法可以得到它?
    【解决方案7】:

    这让您以更顶级的方式进行监控

    watch -n 0.5 adb shell top -n 1
    

    0.5是轮询间隔

    【讨论】:

      【解决方案8】:

      您可以使用应用程序访问这些类型的信息。如简单系统监视器Simple System Monitor

      【讨论】:

      • 这个应用真不错
      • 不显示当前每个应用的 CPU 使用率百分比。只有“前台总时间”是无用的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 2011-06-22
      • 1970-01-01
      • 2014-08-18
      相关资源
      最近更新 更多