我一直在努力获得每个进程的准确CPU使用率并处理空闲CPU时间。 我尝试了“top”命令proc / [pid] / stat文件夹,但仍然试着运气..
TOP命令为fg(前台)和bg(后台)中运行的所有进程提供CPU使用率 但它感觉不准确..因为它显示%CPU 0,即使进程在后台运行..还有其他方法吗?请帮忙
答案 0 :(得分:2)
我找到了自己做的方法.. 我正在使用
答案 1 :(得分:1)
您可以通过以下方式获得CPU使用率:
ArrayList<String> list = new ArrayList<String>();
try {
// -m 10, how many entries you want, -d 1, delay by how much, -n 1,
// number of iterations
Process p = Runtime.getRuntime().exec("top -m 15 -d 1 -n 1");
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
int i = 0;
String line = reader.readLine();
while (line != null) {
Log.e("Output " i, line);
list.add(line);
line = reader.readLine();
i ;
}
p.waitFor();
Toast.makeText(getBaseContext(), "Got update",Toast.LENGTH_SHORT)
.show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getBaseContext(), "Caught", Toast.LENGTH_SHORT)
.show();
}