最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android获取系统储存以及内存信息的方法(二)
时间:2022-06-25 23:15:28 编辑:袖梨 来源:一聚教程网
Android获取储存信息以及内存信息可以用adb命令查看。
adb查看系统内存信息以及储存信息:
命令: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+", ""));
//如果为正整数就说明数据正确的,确保在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
代码:
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";
}
相关文章
- picacg哔咔网页版入口-嗶咔picacg在线高清观看 03-03
- twitter网页版-twitter官网入口 03-03
- 网易云游戏网页版一键直达-网易云游戏网页版即点即玩 03-03
- 樱花漫画正版入口分享:全彩无删减漫画高清画质不卡顿 03-03
- 歪歪漫画-最新漫画网入口首页 03-03
- jm漫画网页版-最新官方入口是什么 03-03

