¿Hay alguna API de Java para eso? ¿Cómo puedo leer esta información?
Para tener frecuencia en Android, solo lea estos archivos especiales en el directorio / 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"
Tendrás las frecuencias actual, mínima y máxima permitidas.
no MHz, pero al menos algo. El valor de bogoMIPS puede ser útil para usted.
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; }
Si está interesado en cuánto tiempo pasó su sistema en qué estado, consulte el archivo
/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
No estoy seguro, si el acceso de root es necesario para eso.