博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取CPU信息
阅读量:5055 次
发布时间:2019-06-12

本文共 1667 字,大约阅读时间需要 5 分钟。

1 查看手机CPU信息

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

 

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

 

  1. /** 
  2.  *  
  3.  * [获取cpu类型和架构] 
  4.  *  
  5.  * @return  
  6.  * 三个参数类型的数组,第一个参数标识是不是ARM架构,第二个参数标识是V6还是V7架构,第三个参数标识是不是neon指令集 
  7.  */  
  8. public static Object[] getCpuArchitecture() {  
  9.     if ((Integer) mArmArchitecture[1] != -1) {  
  10.         return mArmArchitecture;  
  11.     }  
  12.     try {  
  13.         InputStream is = new FileInputStream("/proc/cpuinfo");  
  14.         InputStreamReader ir = new InputStreamReader(is);  
  15.         BufferedReader br = new BufferedReader(ir);  
  16.         try {  
  17.             String nameProcessor = "Processor";  
  18.             String nameFeatures = "Features";  
  19.             String nameModel = "model name";  
  20.             String nameCpuFamily = "cpu family";  
  21.             while (true) {  
  22.                 String line = br.readLine();  
  23.                 String[] pair = null;  
  24.                 if (line == null) {  
  25.                     break;  
  26.                 }  
  27.                 pair = line.split(":");  
  28.                 if (pair.length != 2)  
  29.                     continue;  
  30.                 String key = pair[0].trim();  
  31.                 String val = pair[1].trim();  
  32.                 if (key.compareTo(nameProcessor) == 0) {  
  33.                     String n = "";  
  34.                     for (int i = val.indexOf("ARMv") + 4; i < val.length(); i++) {  
  35.                         String temp = val.charAt(i) + "";  
  36.                         if (temp.matches("\\d")) {  
  37.                             n += temp;  
  38.                         } else {  
  39.                             break;  
  40.                         }  
  41.                     }  
  42.                     mArmArchitecture[0] = "ARM";  
  43.                     mArmArchitecture[1] = Integer.parseInt(n);  
  44.                     continue;  
  45.                 }  
  46.   
  47.                 if (key.compareToIgnoreCase(nameFeatures) == 0) {  
  48.                     if (val.contains("neon")) {  
  49.                         mArmArchitecture[2] = "neon";  
  50.                     }  
  51.                     continue;  
  52.                 }  
  53.   
  54.                 if (key.compareToIgnoreCase(nameModel) == 0) {  
  55.                     if (val.contains("Intel")) {  
  56.                         mArmArchitecture[0] = "INTEL";  
  57.                         mArmArchitecture[2] = "atom";  
  58.                     }  
  59.                     continue;  
  60.                 }  
  61.   
  62.                 if (key.compareToIgnoreCase(nameCpuFamily) == 0) {  
  63.                     mArmArchitecture[1] = Integer.parseInt(val);  
  64.                     continue;  
  65.                 }  
  66.             }  
  67.         } finally {  
  68.             br.close();  
  69.             ir.close();  
  70.             is.close();  
  71.         }  
  72.     } catch (Exception e) {  
  73.         e.printStackTrace();  
  74.     }  
  75.   
  76.     return mArmArchitecture;  
  77. }  

转载于:https://www.cnblogs.com/lucktian/p/5689625.html

你可能感兴趣的文章
图像的双缓存技术
查看>>
微信小程序template模板与component组件的区别及使用方法
查看>>
通过机构查询该机构下,以及下级机构的人员 id
查看>>
好程序员Python自动化运维开发实战 六、流程控制
查看>>
密码生成器
查看>>
制作TortoiseSVN最新版本的中文DLL(转)
查看>>
最小生成树 Prim算法 Kruskal算法实现
查看>>
javaee字符文件的复制
查看>>
选项框
查看>>
android 开发之 - 调用系统闪光灯
查看>>
HTML标签
查看>>
类型转换,随机数
查看>>
clang complete
查看>>
在Ajax1.0中使用Response.Redirect()
查看>>
lambdas了解
查看>>
程序员从初级到中级10个秘诀
查看>>
最新 Java 漏洞攻击以微软通知做诱饵
查看>>
对理想团队模式构建的设想以及对软件流程的理解
查看>>
Android反编译后代码阅读
查看>>
gedit乱码问题的解决
查看>>