当前位置: 代码迷 >> Android >> Android - 获取CPU使用率
  详细解决方案

Android - 获取CPU使用率

热度:31   发布时间:2016-04-28 01:34:30.0
Android -- 获取CPU使用率


public static float getProcessCpuRate()    {        float totalCpuTime1 = getTotalCpuTime();        float processCpuTime1 = getAppCpuTime();        try        {            Thread.sleep(360);        }        catch (Exception e)        {        }        float totalCpuTime2 = getTotalCpuTime();        float processCpuTime2 = getAppCpuTime();        float cpuRate = 100 * (processCpuTime2 - processCpuTime1)                / (totalCpuTime2 - totalCpuTime1);        return cpuRate;    }    public static long getTotalCpuTime()    {   // 获取系统总CPU使用时间        String[] cpuInfos = null;        try        {            BufferedReader reader = new BufferedReader(new InputStreamReader(                    new FileInputStream("/proc/stat")), 1000);            String load = reader.readLine();            reader.close();            cpuInfos = load.split(" ");        }        catch (IOException ex)        {            ex.printStackTrace();        }        long totalCpu = Long.parseLong(cpuInfos[2])                + Long.parseLong(cpuInfos[3]) + Long.parseLong(cpuInfos[4])                + Long.parseLong(cpuInfos[6]) + Long.parseLong(cpuInfos[5])                + Long.parseLong(cpuInfos[7]) + Long.parseLong(cpuInfos[8]);        return totalCpu;    }    public static long getAppCpuTime()    {   // 获取应用占用的CPU时间        String[] cpuInfos = null;        try        {            int pid = android.os.Process.myPid();            BufferedReader reader = new BufferedReader(new InputStreamReader(                    new FileInputStream("/proc/" + pid + "/stat")), 1000);            String load = reader.readLine();            reader.close();            cpuInfos = load.split(" ");        }        catch (IOException ex)        {            ex.printStackTrace();        }        long appCpuTime = Long.parseLong(cpuInfos[13])                + Long.parseLong(cpuInfos[14]) + Long.parseLong(cpuInfos[15])                + Long.parseLong(cpuInfos[16]);        return appCpuTime;    }


  相关解决方案