Merge "Don't reset OOM adjType to cch-empty during recomputing on cycles" into rvc-dev

This commit is contained in:
Jing Ji
2020-05-29 17:55:00 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 3 deletions

View File

@@ -1260,9 +1260,11 @@ public final class OomAdjuster {
// value that the caller wants us to. // value that the caller wants us to.
adj = cachedAdj; adj = cachedAdj;
procState = PROCESS_STATE_CACHED_EMPTY; procState = PROCESS_STATE_CACHED_EMPTY;
app.setCached(true); if (!app.containsCycle) {
app.empty = true; app.setCached(true);
app.adjType = "cch-empty"; app.empty = true;
app.adjType = "cch-empty";
}
if (DEBUG_OOM_ADJ_REASON || logUid == appUid) { if (DEBUG_OOM_ADJ_REASON || logUid == appUid) {
reportOomAdjMessageLocked(TAG_OOM_ADJ, "Making empty: " + app); reportOomAdjMessageLocked(TAG_OOM_ADJ, "Making empty: " + app);
} }

View File

@@ -1387,6 +1387,15 @@ public class MockingOomAdjusterTests {
SCHED_GROUP_DEFAULT); SCHED_GROUP_DEFAULT);
assertProcStates(app3, PROCESS_STATE_FOREGROUND_SERVICE, PERCEPTIBLE_APP_ADJ, assertProcStates(app3, PROCESS_STATE_FOREGROUND_SERVICE, PERCEPTIBLE_APP_ADJ,
SCHED_GROUP_DEFAULT); SCHED_GROUP_DEFAULT);
assertEquals("service", app.adjType);
assertEquals("service", app2.adjType);
assertEquals("fg-service", app3.adjType);
assertEquals(false, app.isCached());
assertEquals(false, app2.isCached());
assertEquals(false, app3.isCached());
assertEquals(false, app.empty);
assertEquals(false, app2.empty);
assertEquals(false, app3.empty);
} }
@SuppressWarnings("GuardedBy") @SuppressWarnings("GuardedBy")