2

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

我关注了这篇文章,获取 CPU 使用率,但它演示了总 CPU 使用率。在这里,它使用了以下代码来读取 CPU 统计信息,

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

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

      ActivityManager activityManager = (ActivityManager)
                      getSystemService(ACTIVITY_SERVICE);

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

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

4

2 回答 2

1

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

在这里查看更多关于Top命令的信息。

于 2013-01-08T11:26:01.913 回答
0

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

你可以在这里找到完整的实现。

于 2013-01-08T11:25:10.183 回答