我开发了一个Android应用程序来获取设备信息。对于当前的总CPU使用率,我正在使用该线程中的代码。
但我想要的是每个核心的CPU频率。所以我尝试修改代码以获得cpu0的用法。但我没有成功。所以,任何人都有这个问题。你是如何克服的?
更新
我试图通过从"scaling_cur_freq"文件中获取值来实现这一点。此文件包含每个核心的当前频率。这是我的代码,以防有人需要。
try {
double currentFreq;
RandomAccessFile readerCurFreq;
readerCurFreq = new RandomAccessFile("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
String curfreg = readerCurFreq.readLine();
currentFreq = Double.parseDouble(curfreg) / 1000;
readerCurFreq.close();
String finalfre = "Curent Frequency of Core 0 is" + currentFreq;
} catch (IOException ex) {
String finalfre = "Core is Idle";
ex.printStackTrace();
}
你可以通过核心的数量来循环这个。这样你就可以得到所有核心的频率。有时,如果内核空闲或停止,此代码可能会产生异常。处理好了,你就可以去了
您指定的线程只有如何获取CPU使用率。。。。如果你仔细阅读这个答案,你会发现其中的方法是"getCpuUsage"。一旦您传递了每个核心的cpuid,此方法将返回每个核心的当前CPU使用情况。