1 获取机身内存。读取
// public String path = "/proc/meminfo"; 文件里面有机身内存总大小、可用大小信息
public String read2() {
try {
// public String path = "/proc/meminfo";
FileReader fr = new FileReader(path);
BufferedReader r = new BufferedReader(fr);
String data = "";
String t = r.readLine();
// t=MemTotal: 206576 kB
String t2 = r.readLine();
// t2=MemFree: 9092 kB
String[] tt = t.split("\\s+");
String total = tt[1];
tt = t2.split("\\s+");
String awail = tt[1];
long h1 = Long.valueOf(total) / 1024;
long h2 = Long.valueOf(awail) / 1024;
data += "机身内存:" + h1 + "M" + "可用内存;" + h2 + "M";
r.close();
return data;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return e.getMessage();
}
2 读取sdcard大小
String t = Environment.getExternalStorageState();
if (!t.equals(Environment.MEDIA_MOUNTED)) {
txtOutput.setText("sdcard 不存在,或者拒绝访问");
return;
}
File f = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(f.getPath());
int totalcount = sf.getBlockCount();
long size = sf.getBlockSize();
long avail = sf.getAvailableBlocks();
long t1 = (totalcount * size) / 1024 / 1024;
long t2 = (size * avail) / 1024 / 1024;
String result = "sdcard总大小:" + t1 + "M" + " 可用大小:" + t2 + "M";