2011-02-09 50 views
7

我发现了一些参考,最终用下面的代码:确定Android手机CPU时钟频率的最可靠方法是什么?

String[] args = { "/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" }; 

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(); 

上面的代码工作得很好,但不是所有的时间。我收到了一些报告,指出它在某些电话上的报告高于SetCPU在最大设置下设置的频率。

有没有更可靠的方法来找到Android手机的时钟速度?

+4

你确定它是不是'SetCPU`那就是“说谎”? – 2011-02-09 00:58:48

+2

此外,这可能是我天真,但为什么使用一个过程(不是它是问题,只是想知道性能的原因)?为什么不直接从文件中获取输入流?我认为执行cat需要相同的权限,因为需要读取proc目录。 – 2011-02-17 07:42:41

回答

1

如果你想你可以读取当前频率:

/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 
相关问题