ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
//获取总内存
long totalMem = memoryInfo.totalMem;
注意:上面是新版本的API,不能直接跑到低版本的手机上面,如果想要向下兼容,得用以下的代码,通过读文件的方式。
try {
FileInputStream fileInputStream = new FileInputStream(new File("/proc/meminfo"));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
String line = bufferedReader.readLine();
StringBuilder stringBuilder = new StringBuilder();
for (char c:line.toCharArray()) {
if (c>='0'&&c<='9'){
stringBuilder.append(c);
}
}
//总内存(乘以1024是为了方面格式化为MB)
long totalMem = Long.parseLong(stringBuilder.toString())*1024;
} catch (Exception e) {
e.printStackTrace();
}