Use new more efficient API for retrieving pss.

Change-Id: Ibcbcc397c2a7c19acd2de640528392df9bb780bb
This commit is contained in:
Dianne Hackborn
2011-08-05 17:51:48 -07:00
parent 5c2d982f8e
commit 2826bc4ca5

View File

@@ -388,8 +388,8 @@ public class RunningState {
return changed;
}
boolean updateSize(Context context, Debug.MemoryInfo mem, int curSeq) {
mSize = ((long)mem.getTotalPss()) * 1024;
boolean updateSize(Context context, long pss, int curSeq) {
mSize = pss * 1024;
if (mCurSeq == curSeq) {
String sizeStr = Formatter.formatShortFileSize(
context, mSize);
@@ -964,12 +964,12 @@ public class RunningState {
for (int i=0; i<numProc; i++) {
pids[i] = mAllProcessItems.get(i).mPid;
}
Debug.MemoryInfo[] mem = ActivityManagerNative.getDefault()
.getProcessMemoryInfo(pids);
long[] pss = ActivityManagerNative.getDefault()
.getProcessPss(pids);
int bgIndex = 0;
for (int i=0; i<pids.length; i++) {
ProcessItem proc = mAllProcessItems.get(i);
changed |= proc.updateSize(context, mem[i], mSequence);
changed |= proc.updateSize(context, pss[i], mSequence);
if (proc.mCurSeq == mSequence) {
serviceProcessMemory += proc.mSize;
} else if (proc.mRunningProcessInfo.importance >=