如何通过运行应用程序获得CPU使用率

时间:2013-01-08 10:57:22

标签: android process cpu-usage

我正在开发一个App,我需要根据正在运行的应用程序显示CPU使用率(就像任务管理器一样)。

我已关注此帖Get CPU usage,但它演示了总CPU使用率。 这里它使用以下代码来读取CPU统计信息,

RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");

我希望获得所有单独运行的应用程序的CPU使用率。到目前为止,我已经能够获取所有正在运行的应用程序的列表,

      ActivityManager activityManager = (ActivityManager)
                      getSystemService(ACTIVITY_SERVICE);

    List<RunningAppProcessInfo> listOfRunningProcess = activityManager
                    .getRunningAppProcesses();

现在我想获得这些应用程序的CPU使用率。

2 个答案:

答案 0 :(得分:1)

使用top命令并使用Runtime.execute("your top command")执行它这将为您提供一个字符串,您必须解析它以获得每个应用程序CPU的使用。

请在此处查看有关Top命令的更多信息。

答案 1 :(得分:0)

您可以使用linux top命令获取每个进程(PID)的内存使用情况。

您可以找到完整的实施here