我正在尝试编写一个小代码来转储我的 android 应用程序的 CPU 利用率(过去 10 秒内使用的 CPU 百分比并每 10 秒转储一次)。
现在假设手机中有 2 个或 4 个内核。如何有效地转储应用程序使用的 % cpu。我用谷歌搜索了一些 top 命令的示例,但我不确定如何使用 top 命令的数据来显示多核和过去 10 秒内的 cpu 利用率。
我添加了以下代码:但我总是在buf. exec
返回有效结果中使用ls
命令而不是使用top
. 我是否需要在 mainfest 中获得一些权限才能执行 top 命令...
String str = new String();
str = "top -l1";
Process p;
p = Runtime.getRuntime().exec(str);
BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
/* Skip 6 lines */
int count = 0;
char[] buf= new char[10240];
bri.read(buf);
Log.e("TEST", new String(buf));