(转载)http://blog.csdn.net/netwalk/article/details/9793501
Android系统的CPU信息涉及到两个文件:/proc/cpuinfo和/proc/stat
通过读取文件/proc/cpuinfo,来获取系统CPU的类型等多种信息,
通过读取/proc/stat 所有CPU活动的信息来计算CPU使用率。
获取CPU信息可参考下面代码
1、 获取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最大频率
-
-
-
- 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最小频率
-
- 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当前频率
-
- 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的型号: