android 如何获取CPU频率(HZ…

来源:互联网 发布:淘宝网技巧 编辑:程序博客网 时间:2024/04/30 04:22
原文地址:如何获取CPU频率(HZ)">android 如何获取CPU频率(HZ)作者:neigedachen
如何得知自己的手机CPU频率是多少呢?有的手机可以如同查看SD卡容量信息一样查看处理器信息
比如:android 2.3系统,设置 -> 关于手机 ->硬件信息,即可看到
但是也有很多手机并没有提供这样的UI展示,别着急,这里还有一个方法。
如下操作:
[转载]android <wbr>如何获取CPU频率(HZ)

这里的550000就是我们要找的CPU频率,注意单位是KHZ.

通过读取文件/proc/cpuinfo系统CPU的类型等多种信息。

读取/proc/stat 所有CPU活动的信息来计算CPU使用率

 

下面我们就来讲讲如何通过代码来获取CPU频率:

package com.orange.cpu;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;

public class CpuManager {

       // 获取CPU最大频率(单位KHZ)

    // "/system/bin/cat"命令行

    // "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"存储最大频率的文件的路径

       public static String getMaxCpuFreq() {
               String result = "";
               ProcessBuilder cmd;
               try {
                       String[] args = { "/system/bin/cat",
                                       "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"};
                       cmd = new ProcessBuilder(args);
                       Process process = cmd.start();
                       InputStream in = process.getInputStream();
                       byte[] re = new byte[24];
                       while (in.read(re) != -1) {
                               result = result + new String(re);
                       }
                       in.close();
               } catch (IOException ex) {
                       ex.printStackTrace();
                       result = "N/A";
               }
               return result.trim();
       }

       //获取CPU最小频率(单位KHZ)
       public static String getMinCpuFreq() {
               String result = "";
               ProcessBuilder cmd;
               try {
                       String[] args = { "/system/bin/cat",
                                       "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq"};
                       cmd = new ProcessBuilder(args);
                       Process process = cmd.start();
                       InputStream in = process.getInputStream();
                       byte[] re = new byte[24];
                       while (in.read(re) != -1) {
                               result = result + new String(re);
                       }
                       in.close();
               } catch (IOException ex) {
                       ex.printStackTrace();
                       result = "N/A";
               }
               return result.trim();
       }

       //实时获取CPU当前频率(单位KHZ)
       public static String getCurCpuFreq() {
               String result = "N/A";
               try {
                       FileReader fr = new FileReader(
                                       "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");
                       BufferedReader br = new BufferedReader(fr);
                       String text = br.readLine();
                       result = text.trim();
               } catch (FileNotFoundException e) {
                       e.printStackTrace();
               } catch (IOException e) {
                       e.printStackTrace();
               }
               return result;
       }

       //获取CPU名字
       public static String getCpuName() {
               try {
                       FileReader fr = newFileReader("/proc/cpuinfo");
                       BufferedReader br = new BufferedReader(fr);
                       String text = br.readLine();
                       String[] array = text.split(":\s+", 2);
                       for (int i = 0; i < array.length; i++){
                       }
                       return array[1];
               } catch (FileNotFoundException e) {
                       e.printStackTrace();
               } catch (IOException e) {
                       e.printStackTrace();
               }
               return null;
       }
}


以上博文摘自百度空间

Android中如何获得系统相关的信息(比如CPU使用率,内存的总量和已用的量)

android 的cpu 硬盘 内存 网络设置 系统信息 硬件信息
0 0
原创粉丝点击