【发布时间】:2019-03-15 01:14:57
【问题描述】:
我开发了一个 Android 应用程序来获取设备信息。对于当前的总 CPU 使用率,我使用的是 this 线程中的代码。
但我想要的是每个内核的 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();
}
您可以通过核心数量循环它。这样您就可以获得所有内核的频率。有时,如果内核空闲或停止,此代码可能会产生异常。处理它,你很高兴
【问题讨论】: