android 获取 cpu 频率信息

cpu的频率信息可以在/sys/devices/system/cpu/cpu0/cpufreq/路径下读取

比如最高频率路径为:/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq(文件内容就是一行字符串:频率值)

这里要注意一点点是cpuinfo_max_freq文件不是一直存在的,读取之前得判断这个文件是否存在(至于这个文件什么时候创建我就不清楚了)

比如在循环中读取

/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq

/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq

……

因为我们读取的是文件,所以有两种方式

第一种是执行cat命令

第二种是直接打开文件读取,比如RandomAccessFile类直接打开读取第一行

……
//coreCount是cpu个数,这个是通过统计/sys/devices/system/cpu/cpu0的个数得到的(cpu命令方式:cpu0,cpu1,cpu2……)
for (int i = 0; i < coreCount; i++) { target = new File(String.format("/sys/devices/system/cpu/cpu%d/cpufreq", i), "cpuinfo_max_freq"); if (target.exists()) { try { cmd = new ProcessBuilder("/system/bin/cat",target.getPath()); process = cmd.start(); reader = new BufferedReader(new InputStreamReader(process.getInputStream())); readLine = reader.readLine(); if (!TextUtils.isEmpty(readLine)) { maxFreq= readLine; break; } } catch (IOException ex) { maxFreq= null; ex.printStackTrace(); }
            //finally中释放各种资源
} }
……
 

 

posted on 2018-01-25 13:53  落寞情缘  阅读(5273)  评论(0编辑  收藏  举报

导航