我們在點開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大小。