通过Android运行时以编程方式执行的命令行“ top”命令每次都会返回相同的CPU使用率数据:
Runtime.getRuntime()。exec(“ top -n3 -d1”)
即使添加“ -n3”开关,每次迭代仍返回相同的%cpu,%user,%sys和%idle。 如何调用top命令以跟踪实际的正确CPU使用率数据?
答案 0 :(得分:1)
可以尝试吗?
@SuppressLint("StaticFieldLeak")
AsyncTask<Void, Void, Void> asyncTask = new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... voids) {
try {
Process process = Runtime.getRuntime().exec("top -n100 -d1");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
String result;
while ((result = stdInput.readLine()) != null) {
Log.d("output", result);
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
};