查看手机内存运行情况:
final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
private void displayBriefMemory() {
if (activityManager != null) {
ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(info);
Log.i(tag,"系统总内存:" + getFormatSize(info.totalMem));
Log.i(tag,"系统剩余内存:" + getFormatSize(info.availMem)+ ", 是否处于低内存运行:" + info.lowMemory);
Log.i(tag,"系统是否处于低内存运行:" + info.lowMemory);
Log.i(tag,"系统剩余内存低于 " + getFormatSize(info.threshold) + " 时视为低内存运行");
} else {
Log.e(tag, "activityManager is null");
}
}
public static String getFormatSize(double size) {
double kiloByte = size / 1024;
if (kiloByte < 1) {
return size + "Byte";
}
double megaByte = kiloByte / 1024;
if (megaByte < 1) {
BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));
return result1.setScale(2, BigDecimal.ROUND_HALF_UP)
.toPlainString() + "KB";
}
double gigaByte = megaByte / 1024;
if (gigaByte < 1) {
BigDecimal result2 = new BigDecimal(Double.toString(megaByte));
return result2.setScale(2, BigDecimal.ROUND_HALF_UP)
.toPlainString() + "MB";
}
double teraBytes = gigaByte / 1024;
if (teraBytes < 1) {
BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));
return result3.setScale(2, BigDecimal.ROUND_HALF_UP)
.toPlainString() + "GB";
}
BigDecimal result4 = new BigDecimal(teraBytes);
return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()
+ "TB";
}