首页 > 系统 > Android > 正文

Android获取系统储存以及内存信息的方法(二)

2019-10-22 18:24:52
字体:
来源:转载
供稿:网友

Android获取储存信息以及内存信息可以用adb命令查看。

adb查看系统内存信息以及储存信息:

命令:adb shell cat /proc/meminfo

Android获取系统储存,Android获取内存信息,Android获取系统储存信息

代码:

 private static final String FILENAME_PROC_MEMINFO = "/proc/meminfo";/** * 获取手机内存总大小 * @return */ public static String getTotalMemorySize() {    try {      FileReader fr = new FileReader(FILENAME_PROC_MEMINFO);      BufferedReader br = new BufferedReader(fr, 2048);//      String memoryLine = br.readLine();      String subMemoryLine = "";      String Line = "";      while ((Line = br.readLine()) != null)      {        if (Line.contains("MemTotal:")){          subMemoryLine = Line.substring(Line.indexOf("MemTotal:"));          break;        }      }      br.close();      Matcher mer = Pattern.compile("^[0-9]+$").matcher(subMemoryLine.replaceAll("//D+", ""));      //如果为正整数就说明数据正确的,确保在Double.parseDouble中不会异常      if (mer.find()) {        long memSize = Integer.parseInt(subMemoryLine.replaceAll("//D+", "")) ;        double mem = (Double.parseDouble(memSize + "")/1024)/1024;        NumberFormat nf = new DecimalFormat( "0.0 ");        mem = Double.parseDouble(nf.format(mem));        //Log.e(LOG_TAG,"=========mem================ " + mem);        return String.valueOf(mem);      }    } catch (IOException e) {      e.printStackTrace();    }    return "Unavailable";  }  /**   * 获取手机剩余内存大小   * @return   */  public static String getFreeMemorySize() {    try {      FileReader fr = new FileReader(FILENAME_PROC_MEMINFO);      BufferedReader br = new BufferedReader(fr, 2048);//      String memoryLine = br.readLine();      String subMemoryLine = "";      String Line = "";      while ((Line = br.readLine()) != null)      {        if (Line.contains("MemFree:")){          subMemoryLine = Line.substring(Line.indexOf("MemFree:"));          break;        }      }      br.close();      Matcher mer = Pattern.compile("^[0-9]+$").matcher(subMemoryLine.replaceAll("//D+", ""));      //如果为正整数就说明数据正确的,确保在Double.parseDouble中不会异常      if (mer.find()) {        long memSize = Integer.parseInt(subMemoryLine.replaceAll("//D+", "")) ;        double mem = (Double.parseDouble(memSize + "")/1024)/1024;        NumberFormat nf = new DecimalFormat( "0.0 ");        mem = Double.parseDouble(nf.format(mem));        //Log.e(LOG_TAG,"=========mem================ " + mem);        return String.valueOf(mem);      }    } catch (IOException e) {      e.printStackTrace();    }    return "Unavailable";  }

adb 获取手机储存大小:

命令:adb shell cat /proc/partitions

Android获取系统储存,Android获取内存信息,Android获取系统储存信息

代码:

private static final String FILENAME_PROC_EMMCINFO = "/proc/partitions"; /**   * 获取手机储存大小   * @return   */ public static String getEmmcSize() {    try {      FileReader fr = new FileReader(FILENAME_PROC_EMMCINFO);      BufferedReader br = new BufferedReader(fr, 2048);      String Line = "";      String EmmcSize = "";      while ((Line = br.readLine()) != null)      {        if (Line.length() >7 && Line.lastIndexOf(" ") > 0) {          if (Line.substring(Line.lastIndexOf(" ") + 1 , Line.length()).equals("mmcblk0"))          {            EmmcSize = removeAllSpace(Line);            break;          }        }      }      br.close();      if (EmmcSize.length() >7 ){        EmmcSize = (String) EmmcSize.subSequence(4, EmmcSize.length()-7);        Matcher mer = Pattern.compile("^[0-9]+$").matcher(EmmcSize);        //如果为正整数就说明数据正确的,确保在Double.parseDouble中不会异常        if (mer.find()) {          double mem = (Double.parseDouble(EmmcSize)/1024)/1024;          NumberFormat nf = new DecimalFormat( "0.0 ");          mem = Double.parseDouble(nf.format(mem));          return String.valueOf(mem);        }      }      return "0";    } catch (IOException e) {      e.printStackTrace();    }    return "Unavailable";  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表