这是我第一次在这里提问。我试图进行充分的研究,所以如果我之前忽略了这个问题的帖子,我提前道歉。我正在查看是否可以在我的应用程序运行时获取它的使用情况统计信息。我正在运行一些性能相对较高的程序,并且我有兴趣了解计算在内核之间的分布情况(并在程序本身中显示此信息)。
再次,对不起,如果这篇文章充满了无知!
这是我第一次在这里提问。我试图进行充分的研究,所以如果我之前忽略了这个问题的帖子,我提前道歉。我正在查看是否可以在我的应用程序运行时获取它的使用情况统计信息。我正在运行一些性能相对较高的程序,并且我有兴趣了解计算在内核之间的分布情况(并在程序本身中显示此信息)。
再次,对不起,如果这篇文章充满了无知!
您可以通过查看目录下的文件来检查 CPU 内核的数量 - /sys/devices/system/cpu/。这在无根电话上也是可能的。这是一个可以为您提供设备核心数量的功能 -
public int getNumOfCpus() {
class CPUFilter implements FileFilter {
@Override
public boolean accept(File pathname) {
// Check if filename is "cpu0", "cpu1,...
if (Pattern.matches("cpu[0-9]", pathname.getName())) {
return true;
}
return false;
}
}
try {
// Get directory containing CPU info
File dir = new File("/sys/devices/system/cpu/");
File[] files = dir.listFiles(new CPUFilter());
// Return the number of cores
return files.length;
} catch (Exception e) {
e.printStackTrace();
return 1;
}
}
然后,您可以通过修改此处答案中提到的函数来获取每个内核的 CPU 利用率 - Get Memory Usage in Android