您的位置:首页 > 其它

获取CPU信息

2016-07-20 20:29 295 查看
1 查看手机CPU信息

cmd——adb shell——cd /proc------cat cpuinfo

2 获取cpu的是arm指令集,armv7指令集、还是neon指令集

/**

*

* [获取cpu类型和架构]

*

* @return

* 三个参数类型的数组,第一个参数标识是不是ARM架构,第二个参数标识是V6还是V7架构,第三个参数标识是不是neon指令集

*/

public static Object[] getCpuArchitecture() {

if ((Integer) mArmArchitecture[1] != -1) {

return mArmArchitecture;

}

try {

InputStream is = new FileInputStream("/proc/cpuinfo");

InputStreamReader ir = new InputStreamReader(is);

BufferedReader br = new BufferedReader(ir);

try {

String nameProcessor = "Processor";

String nameFeatures = "Features";

String nameModel = "model name";

String nameCpuFamily = "cpu family";

while (true) {

String line = br.readLine();

String[] pair = null;

if (line == null) {

break;

}

pair = line.split(":");

if (pair.length != 2)

continue;

String key = pair[0].trim();

String val = pair[1].trim();

if (key.compareTo(nameProcessor) == 0) {

String n = "";

for (int i = val.indexOf("ARMv") + 4; i < val.length(); i++) {

String temp = val.charAt(i) + "";

if (temp.matches("\\d")) {

n += temp;

} else {

break;

}

}

mArmArchitecture[0] = "ARM";

mArmArchitecture[1] = Integer.parseInt(n);

continue;

}

if (key.compareToIgnoreCase(nameFeatures) == 0) {

if (val.contains("neon")) {

mArmArchitecture[2] = "neon";

}

continue;

}

if (key.compareToIgnoreCase(nameModel) == 0) {

if (val.contains("Intel")) {

mArmArchitecture[0] = "INTEL";

mArmArchitecture[2] = "atom";

}

continue;

}

if (key.compareToIgnoreCase(nameCpuFamily) == 0) {

mArmArchitecture[1] = Integer.parseInt(val);

continue;

}

}

} finally {

br.close();

ir.close();

is.close();

}

} catch (Exception e) {

e.printStackTrace();

}

return mArmArchitecture;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: