android系统信息总结

1. 总内存(ram)
   android 内存信息在 /proc/meminfo中,可以通过读取此文件获取信息。
   public void getTotalMemory() {
                String str1 = "/proc/meminfo";
                String str2="";
                try {
                        FileReader fr = new FileReader(str1);
                        BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
                        while ((str2 = localBufferedReader.readLine()) != null) {
                                Log.i(TAG, "---" + str2);
                        }
                } catch (IOException e) {
                }
        }    
 2. 获取当前可用内存
    public long getAvailMemory() {
                ActivityManager am = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
                ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
                am.getMemoryInfo(mi);
                return mi.availMem;
        }

 3. 获取rom大小
    public long[] getRomMemroy() {
                long[] romInfo = new long[2];
                File root = Environment.getRootDirectory();
                StatFs sf = new StatFs(root.getPath());
                long bSize = sf.getBlockSize();
                long bCount = sf.getBlockCount();
                long availBlocks = sf.getAvailableBlocks();
                romInfo[0] = bSize * bCount;// Total size
                romInfo[1] = bSize * availBlocks;// Available size
                return romInfo;
        }

 4. 获取SD卡容量
    public long[] getSDCardMemory() {
                long[] sdCardInfo=new long[2];
                String state = Environment.getExternalStorageState();
                if (Environment.MEDIA_MOUNTED.equals(state)) {
                        File sdcardDir = Environment.getExternalStorageDirectory();
                        StatFs sf = new StatFs(sdcardDir.getPath());
                        long bSize = sf.getBlockSize();
                        long bCount = sf.getBlockCount();
                        long availBlocks = sf.getAvailableBlocks();

                        sdCardInfo[0] = bSize * bCount;// Total size
                        sdCardInfo[1] = bSize * availBlocks;// Available size
                }
                return sdCardInfo;
        }
 
    5. 获取电量
       private BroadcastReceiver batteryReceiver=new BroadcastReceiver(){
                @Override
                public void onReceive(Context context, Intent intent) {
                        int level = intent.getIntExtra("level", 0);
                        //      level Plus % Is the current power of the
        }
        };
    在 activity中注册
    registerReceiver(batteryReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
 6. CPU信息
      public String[] getCpuInfo() {
                String str1 = "/proc/cpuinfo";
                String str2="";
                String[] cpuInfo={"",""};
                String[] arrayOfString;
                try {
                        FileReader fr = new FileReader(str1);
                        BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
                        str2 = localBufferedReader.readLine();
                        arrayOfString = str2.split("\\s+");
                        for (int i = 2; i < arrayOfString.length; i++) {
                                cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";
                        }
                        str2 = localBufferedReader.readLine();
                        arrayOfString = str2.split("\\s+");
                        cpuInfo[1] += arrayOfString[2];
                        localBufferedReader.close();
                } catch (IOException e) {
                }
                return cpuInfo;
        }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。