【问题标题】:Get current cpu usage for each core on Android获取 Android 上每个核心的当前 cpu 使用情况
【发布时间】: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();
    }

您可以通过核心数量循环它。这样您就可以获得所有内核的频率。有时,如果内核空闲或停止,此代码可能会产生异常。处理它,你很高兴

【问题讨论】:

    标签: java android mobile


    【解决方案1】:

    您指定的线程只有如何获取 CPU 使用率....如果您仔细阅读此answer,您可以看到方法为“getCpuUsage”。一旦您传递了核心的 cpuid,此方法将返回每个核心的当前 CPU 使用率。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      • 2014-04-07
      • 2021-03-13
      • 1970-01-01
      相关资源
      最近更新 更多