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中释放各种资源
} }
……
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM