这是我第一次在这里提问.我试着很好地研究,所以如果我之前忽略了这个问题的帖子,我会提前道歉.我想看看我的应用程序在运行时是否可以获取使用情况统计信息.我正在运行一些性能相对较高的程序,我很想知道核心之间的计算分配情况(并在程序本身中显示这些信息).
再次,抱歉,如果这篇文章充斥着无知!
解决方法:
您可以通过查看目录 – / sys / devices / system / cpu /下的文件来检查CPU核心数.这也适用于非root手机.这是一个可以为您提供设备核心数量的功能 –
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