Android獲取系統(tǒng)儲存以及內存信息的方法(二)
Android獲取儲存信息以及內存信息可以用adb命令查看。
adb查看系統(tǒng)內存信息以及儲存信息:
命令:adb shell cat /proc/meminfo
代碼:
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+", "")); //如果為正整數(shù)就說明數(shù)據(jù)正確的,確保在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+", "")); //如果為正整數(shù)就說明數(shù)據(jù)正確的,確保在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 獲取手機儲存大?。?/p>
命令:adb shell cat /proc/partitions
代碼:
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); //如果為正整數(shù)就說明數(shù)據(jù)正確的,確保在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"; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android-ViewModel和LiveData使用詳解
這篇文章主要介紹了Android-ViewModel和LiveData使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android實現(xiàn)動態(tài)改變shape.xml中圖形的顏色
這篇文章主要介紹了Android實現(xiàn)動態(tài)改變shape.xml中圖形的顏色,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android?Gradle?插件自定義Plugin實現(xiàn)注意事項
這篇文章主要介紹了Android?Gradle?插件自定義Plugin實現(xiàn)注意事項,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-06-06Android開發(fā)實現(xiàn)跟隨手指的小球效果示例
這篇文章主要介紹了Android開發(fā)實現(xiàn)跟隨手指的小球效果,涉及Android圖形繪制、事件響應、界面布局等相關操作技巧,需要的朋友可以參考下2019-04-04深入分析Android NFC技術 android nfc開發(fā)
本篇文章我們對android開發(fā)中nfc技術做了全面的原理分析以及實現(xiàn)過程,需要的讀者們一起參考一下吧。2017-11-11Android游戲開發(fā) 自定義手勢--輸入法手勢技術
本文主要介紹 Android游戲開發(fā)中自定義手勢--輸入法手勢技術,這里提供了實現(xiàn)效果圖以及示例代碼,有開發(fā)手機游戲的朋友可以參考下2016-08-08Android編程實現(xiàn)應用獲取包名、版本號、權限等信息的方法
這篇文章主要介紹了Android編程實現(xiàn)應用獲取包名、版本號、權限等信息的方法,涉及Android針對應用相關信息的獲取操作實現(xiàn)技巧,需要的朋友可以參考下2018-02-02Android SQLite數(shù)據(jù)庫增刪改查操作的使用詳解
本篇文章介紹了,在Android中SQLite數(shù)據(jù)庫增刪改查操作的使用詳解。需要的朋友參考下2013-04-04