Android运行top命令时数据异常


private int getProcessCpuRate() {

        StringBuilder tv = new StringBuilder();
        int rate = 0;
        try {
            String Result;
            Process p;
            p = Runtime.getRuntime().exec("top -n 1");

            BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
            while ((Result = br.readLine()) != null) {
                if (Result.trim().length() < 1) {
                    continue;
                } else {
                    System.out.println("-----------------------"+Result);
                }
            }

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(rate + "");
        return rate;
    }

#运行之后获得结果:

img


#为什么每次得到的结果idle==cpu==400,那岂不是说明cpu使用率为0,想请教各位这是什么问题

嗯,日志显示使用率是0
你在adb shell中用top -n 1看一下结果是不是一样

top详解以及命令异常解决
https://blog.csdn.net/weixin_38345081/article/details/99855436
安卓ADB下执行TOP -S CPU报TOP: NOT INTEGER: CPU解决办法
https://www.freesion.com/article/22941210337/