通过Android运行时以编程方式执行的命令行“ top”命令每次都返回相同的CPU使用率数据

时间:2019-09-12 03:10:44

标签: android shell adb

通过Android运行时以编程方式执行的命令行“ top”命令每次都会返回相同的CPU使用率数据:

Runtime.getRuntime()。exec(“ top -n3 -d1”)

即使添加“ -n3”开关,每次迭代仍返回相同的%cpu,%user,%sys和%idle。 如何调用top命令以跟踪实际的正确CPU使用率数据?

1 个答案:

答案 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;
    }
};