内存状态获取类:
public class MemoryUtils {
public static final int TotalMemory = 0;
public static final int AvailableMemory = 1;
public static final int freeMemory = 2;
public static String GetMemoryinfo(Context context,File pathFile,int MemoryType) {
StatFs statFs=new StatFs(pathFile.getPath());
long blockSize=statFs.getBlockSize();
switch (MemoryType) {
case TotalMemory:
return Formatter.formatFileSize(context, statFs.getBlockCount()*blockSize);
case AvailableMemory:
return Formatter.formatFileSize(context, statFs.getAvailableBlocks()*blockSize);
case freeMemory:
return Formatter.formatFileSize(context, statFs.getFreeBlocks()*blockSize);
default:
return "0";
}
}
}
调用:
public void sdCartClick(View view) {
TextView textView=(TextView)findViewById(R.id.tvinfo);
File file=Environment.getExternalStorageDirectory();
String textString="总内存:"+MemoryUtils.GetMemoryinfo(this,file , MemoryUtils.TotalMemory);
textString+="|可用内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.AvailableMemory);
textString+="|空闲内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.freeMemory);
textView.setText(textString);
}
public void PhoneDataClick(View view) {
File file=Environment.getDataDirectory();
TextView textView=(TextView)findViewById(R.id.tvinfo);
String textString="总内存:"+MemoryUtils.GetMemoryinfo(this,file , MemoryUtils.TotalMemory);
textString+="|可用内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.AvailableMemory);
textString+="|空闲内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.freeMemory);
textView.setText(textString);
}
public void DownLoadCacheClick(View view) {
TextView textView=(TextView)findViewById(R.id.tvinfo);
File file=Environment.getDownloadCacheDirectory();
String textString="总内存:"+MemoryUtils.GetMemoryinfo(this,file , MemoryUtils.TotalMemory);
textString+="|可用内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.AvailableMemory);
textString+="|空闲内存:"+MemoryUtils.GetMemoryinfo(this,file, MemoryUtils.freeMemory);
textView.setText(textString);
}