最新下载
热门教程
- 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";
}
相关文章
- dnf神界版本搬砖图推荐 神界版本怎么搬砖 11-29
- 蓝色星原旅谣薄纱流派搭配方法 11-29
- dnf神界版本元素师装备搭配毕业攻略 装备怎么选 11-29
- loselife小女孩好感度提升方法 好感度怎么加 11-29
- 流放之路S24夺宝异界策略收益统计攻略 11-29
- 我的H暑假存档位置攻略 存档在哪 11-29

