如何在Android设备上读取CPU频率

mic*_*ael 25 api cpu android

那有没有Java API?我该如何阅读这些信息.

Ell*_*lis 43

要在Android上拥有频率,只需在/ sys目录中阅读这些特殊文件:

#cat "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"
#cat "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq"
#cat "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"
Run Code Online (Sandbox Code Playgroud)

您将获得当前,最小和最大频率.

  • 令人敬畏的答案埃利斯,你真的帮助了我很多.我在研究这个问题时发现的一件事是,scaling_cur_freq不一定是当前的CPU频率,而是内核认为频率是什么.要获得实际频率,您需要root权限才能读取cpuinfo_cur_freq.此外,获得root访问权限允许您设置cpu速度,这对于在最佳/最差情况下进行性能分析非常有用. (3认同)

zed*_*xff 7

不是MHz,但至少是某种东西.bogoMIPS值对您有用.

private String ReadCPUinfo()
 {
  ProcessBuilder cmd;
  String result="";

  try{
   String[] args = {"/system/bin/cat", "/proc/cpuinfo"};
   cmd = new ProcessBuilder(args);

   Process process = cmd.start();
   InputStream in = process.getInputStream();
   byte[] re = new byte[1024];
   while(in.read(re) != -1){
    System.out.println(new String(re));
    result = result + new String(re);
   }
   in.close();
  } catch(IOException ex){
   ex.printStackTrace();
  }
  return result;
 }
Run Code Online (Sandbox Code Playgroud)

  • 您是不是只将/ proc/cpuinfo作为文件打开并直接读取? (10认同)