您的位置:首页 > 移动开发 > Android开发

Android系统信息获取 之三:CPU信息获取

2016-07-14 13:34 417 查看
(转载)http://blog.csdn.net/netwalk/article/details/9793501

Android系统的CPU信息涉及到两个文件:/proc/cpuinfo和/proc/stat 

通过读取文件/proc/cpuinfo,来获取系统CPU的类型等多种信息,

通过读取/proc/stat 所有CPU活动的信息来计算CPU使用率。

获取CPU信息可参考下面代码

1、
获取CPU名字

[java] view
plain copy

// 获取CPU名字  

    public static String getCpuName() {  

        try {  

            FileReader fr = new FileReader("/proc/cpuinfo");  

            BufferedReader br = new BufferedReader(fr);  

            String text = br.readLine();  

            String[] array = text.split(":\\s+", 2);  

            for (int i = 0; i < array.length; i++) {  

            }  

            return array[1];  

        } catch (FileNotFoundException e) {  

            e.printStackTrace();  

        } catch (IOException e) {  

            e.printStackTrace();  

        }  

        return null;  

    }  

2、获取CPU最大频率

[java] view
plain copy

// 获取CPU最大频率  

    // "/system/bin/cat" 命令行  

    // "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" 存储最大频率的文件的路径  

    public static String getMaxCpuFreq() {  

        String result = "";  

        ProcessBuilder cmd;  

        try {  

            String[] args = { "/system/bin/cat",  

                    "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" };  

            cmd = new ProcessBuilder(args);  

            Process process = cmd.start();  

            InputStream in = process.getInputStream();  

            byte[] re = new byte[24];  

            while (in.read(re) != -1) {  

                result = result + new String(re);  

            }  

            in.close();  

        } catch (IOException ex) {  

            ex.printStackTrace();  

            result = "N/A";  

        }  

        return result.trim();  

    }  

3、获取CPU最小频率

[java] view
plain copy

// 获取CPU最小频率  

    public static String getMinCpuFreq() {  

        String result = "";  

        ProcessBuilder cmd;  

        try {  

            String[] args = { "/system/bin/cat",  

                    "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq" };  

            cmd = new ProcessBuilder(args);  

            Process process = cmd.start();  

            InputStream in = process.getInputStream();  

            byte[] re = new byte[24];  

            while (in.read(re) != -1) {  

                result = result + new String(re);  

            }  

            in.close();  

        } catch (IOException ex) {  

            ex.printStackTrace();  

            result = "N/A";  

        }  

        return result.trim();  

    }  

4、实时获取CPU当前频率

[java] view
plain copy

// 实时获取CPU当前频率  

    public static String getCurCpuFreq() {  

        String result = "N/A";  

        try {  

            FileReader fr = new FileReader(  

                    "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");  

            BufferedReader br = new BufferedReader(fr);  

            String text = br.readLine();  

            result = text.trim();  

        } catch (FileNotFoundException e) {  

            e.printStackTrace();  

        } catch (IOException e) {  

            e.printStackTrace();  

        }  

        return result;  

    }  

//-----------------------------------------------------------------------------------------------------------------

直接使用命令来查看CPU的型号:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: