有人可以帮我解决如何通过代码获取Android设备的处理器名称,速度和RAM。
答案 0 :(得分:20)
您可以像我们通常在Linux中获得的那样获取处理器,RAM和其他硬件相关信息。 从终端我们可以在普通的Linux系统中发出这些命令。您不需要 rooted device 。
$ cat /proc/cpuinfo
同样,你可以在android代码中发出这些命令并获得结果。
public void getCpuInfo() {
try {
Process proc = Runtime.getRuntime().exec("cat /proc/cpuinfo");
InputStream is = proc.getInputStream();
TextView tv = (TextView)findViewById(R.id.tvcmd);
tv.setText(getStringFromInputStream(is));
}
catch (IOException e) {
Log.e(TAG, "------ getCpuInfo " + e.getMessage());
}
}
public void getMemoryInfo() {
try {
Process proc = Runtime.getRuntime().exec("cat /proc/meminfo");
InputStream is = proc.getInputStream();
TextView tv = (TextView)findViewById(R.id.tvcmd);
tv.setText(getStringFromInputStream(is));
}
catch (IOException e) {
Log.e(TAG, "------ getMemoryInfo " + e.getMessage());
}
}
private static String getStringFromInputStream(InputStream is) {
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
try {
while((line = br.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
}
catch (IOException e) {
Log.e(TAG, "------ getStringFromInputStream " + e.getMessage());
}
finally {
if(br != null) {
try {
br.close();
}
catch (IOException e) {
Log.e(TAG, "------ getStringFromInputStream " + e.getMessage());
}
}
}
return sb.toString();
}
答案 1 :(得分:4)
它只能在root设备上运行,或者你的应用程序作为系统应用程序运行。
对于想要的信息,你必须查看正在运行的内核,因为我知道这些信息 不能通过android系统本身获得。
要获取有关CPU的信息,您可以读取并解析此文件: 的/ proc内/ cpuinfo
要获取内存信息,您可以读取并解析此文件: 的/ proc /存储器