在为Android编码时,有没有办法单独获取设备的每个核心的CPU使用率?

这是我第一次在这里提问.我试着很好地研究,所以如果我之前忽略了这个问题的帖子,我会提前道歉.我想看看我的应用程序在运行时是否可以获取使用情况统计信息.我正在运行一些性能相对较高的程序,我很想知道核心之间的计算分配情况(并在程序本身中显示这些信息).

再次,抱歉,如果这篇文章充斥着无知!

解决方法:

您可以通过查看目录 – / 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

上一篇:c-如何在其他内核上运行每个线程?


下一篇:mysql – “foreach”循环:使用R中的所有核心(特别是如果我们在foreach循环中发送sql查询)