中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android獲取系統儲存以及內存信息的方法(二)

發布時間:2020-10-21 14:26:37 來源:腳本之家 閱讀:245 作者:肖旺銀 欄目:移動開發

Android獲取儲存信息以及內存信息可以用adb命令查看。

adb查看系統內存信息以及儲存信息:

命令:adb shell cat /proc/meminfo

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獲取系統儲存以及內存信息的方法(二)

代碼:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜南县| 孙吴县| 常熟市| 观塘区| 巴林右旗| 林口县| 台中县| 通山县| 平安县| 洛阳市| 武功县| 吉木萨尔县| 武平县| 泸溪县| 琼海市| 会宁县| 无为县| 商河县| 上栗县| 安庆市| 东阳市| 房山区| 体育| 西城区| 聂荣县| 措美县| 郑州市| 庄河市| 宝鸡市| 建瓯市| 盈江县| 广州市| 河北省| 治县。| 乌兰县| 建阳市| 江北区| 楚雄市| 额济纳旗| 绵竹市| 马龙县|