android 获取cpu类型


参考:http://blog.csdn.net/wangbaochu/article/details/47723265

http://blog.csdn.net/ly890700/article/details/52836081

http://blog.csdn.net/mengweiqi33/article/details/22796619


Object[] mArmArchitecture =new Object[5];
public  Object[] getCpuArchitecture() {

   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 = "";
               if(val.indexOf("AArch64")>=0){
                  mArmArchitecture[0] = "aarch64";
                  mArmArchitecture[1] = 64;
                  continue;
               }else {

                  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;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值