安卓 获取机身内存,可用内存;运行内存,剩余内


/** 
* 获得机身内存总大小 
* @return 
*/
private String getRomTotalSize() { 
File path = Environment.getDataDirectory(); 
StatFs stat = new StatFs(path.getPath()); 
long blockSize = stat.getBlockSize(); 
long totalBlocks = stat.getBlockCount(); 
return Formatter.formatFileSize(MainActivity.this, blockSize * totalBlocks); 

/** 
* 获得机身可用内存 
* @return 
*/
private String getRomAvailableSize() { 
File path = Environment.getDataDirectory(); 
StatFs stat = new StatFs(path.getPath()); 
long blockSize = stat.getBlockSize(); 
long availableBlocks = stat.getAvailableBlocks(); 
return Formatter.formatFileSize(MainActivity.this, blockSize * availableBlocks); 
}

/** *  * */
private String getAvailMemory() {// 获取android当前可用内存大小 

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
MemoryInfo mi = new MemoryInfo();
am.getMemoryInfo(mi);
//mi.availMem; 当前系统的可用内存 

return Formatter.formatFileSize(getBaseContext(), mi.availMem);// 将获取的内存大小规格化 
}

/**运行内存*/

private String getTotalMemory() {
String str1 = "/proc/meminfo";// 系统内存信息文件 
String str2;
String[] arrayOfString;
long initial_memory = 0;

try {
FileReader localFileReader = new FileReader(str1);
BufferedReader localBufferedReader = new BufferedReader(
localFileReader, 8192);
str2 = localBufferedReader.readLine();// 读取meminfo第一行,系统总内存大小 

arrayOfString = str2.split("\\s+");
for (String num : arrayOfString) {
Log.i(str2, num + "\t");
}

initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;// 获得系统总内存,单位是KB,乘以1024转换为Byte 
localBufferedReader.close();

} catch (IOException e) {
}
return Formatter.formatFileSize(getBaseContext(), initial_memory);// Byte转换为KB或者MB,内存大小规格化 
}

你可能感兴趣的:(安卓 获取机身内存,可用内存;运行内存,剩余内)