我们在点开recent list里面经常会看到有一行关于memory使用的记录:
450MB/1GB
这里的450MB为当前系统已用的内存,而1GB则表示总内存大小。
其代码如下:
1172 public void calculateRamText(){
1173 ActivityManager mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
1174 ActivityManager.MemoryInfo mMemoryInfo = new ActivityManager.MemoryInfo();
1175 mActivityManager.getMemoryInfo(mMemoryInfo);
1176 long mTotalMem = mMemoryInfo.totalMem;
1177 long mAavailMem = mMemoryInfo.availMem;
1178
1179 if(mTotalMem != 0 || mAavailMem != 0){
1180 mRamStatusPre = (int)(((mTotalMem*0.001 - mAavailMem*0.001)/(mTotalMem * 0.001)) * 100);
1181 String MB = mContext.getString(R.string.megabyteShort);
1182 String GB = mContext.getString(R.string.gigabyteShort);
1183 mRamStatusText = formatAvailMen(mTotalMem - mAavailMem)+ MB + "/"+formatTotalMemStr(mTotalMem) + GB;
1184 }else {
1185 mRamStatusPre = 0;
1186 mRamStatusText = "0";
1187 }
1188 }
由以上代码可得450MB为total memory-reserve memory-MemAvailable
1GB则为总的memory大小。