Merge "Fix issue #18907544: Activity manager miscomputed high RAM for 64 bit" into lmp-mr1-dev

This commit is contained in:
Dianne Hackborn
2015-01-06 17:59:58 +00:00
committed by Android (Google) Code Review

View File

@@ -235,15 +235,16 @@ final class ProcessList {
Slog.i("XXXXXX", "minfree_adj=" + minfree_adj + " minfree_abs=" + minfree_abs); Slog.i("XXXXXX", "minfree_adj=" + minfree_adj + " minfree_abs=" + minfree_abs);
} }
if (Build.SUPPORTED_64_BIT_ABIS.length > 0) { final boolean is64bit = Build.SUPPORTED_64_BIT_ABIS.length > 0;
// Increase the high min-free levels for cached processes for 64-bit
mOomMinFreeHigh[4] = (mOomMinFreeHigh[4]*3)/2;
mOomMinFreeHigh[5] = (mOomMinFreeHigh[5]*7)/4;
}
for (int i=0; i<mOomAdj.length; i++) { for (int i=0; i<mOomAdj.length; i++) {
int low = mOomMinFreeLow[i]; int low = mOomMinFreeLow[i];
int high = mOomMinFreeHigh[i]; int high = mOomMinFreeHigh[i];
if (is64bit) {
// Increase the high min-free levels for cached processes for 64-bit
if (i == 4) high = (high*3)/2;
else if (i == 5) high = (high*7)/4;
}
mOomMinFree[i] = (int)(low + ((high-low)*scale)); mOomMinFree[i] = (int)(low + ((high-low)*scale));
} }