Loading services/core/java/com/android/server/am/OomAdjuster.java +4 −0 Original line number Diff line number Diff line Loading @@ -1958,6 +1958,10 @@ public abstract class OomAdjuster { // Process has user perceptible activities. return PROCESS_CAPABILITY_CPU_TIME; } if (app.mServices.numberOfExecutingServices() > 0) { // Ensure that services get cpu time during start-up and tear-down. return PROCESS_CAPABILITY_CPU_TIME; } if (app.mServices.hasForegroundServices()) { return PROCESS_CAPABILITY_CPU_TIME; } Loading services/tests/mockingservicestests/src/com/android/server/am/MockingOomAdjusterTests.java +19 −0 Original line number Diff line number Diff line Loading @@ -898,6 +898,25 @@ public class MockingOomAdjusterTests { assertNoCpuTime(app); } @SuppressWarnings("GuardedBy") @Test @EnableFlags(Flags.FLAG_CPU_TIME_CAPABILITY_BASED_FREEZE_POLICY) public void testUpdateOomAdjFreezeState_executingServices() { final ProcessRecord app = makeDefaultProcessRecord(MOCKAPP_PID, MOCKAPP_UID, MOCKAPP_PROCESSNAME, MOCKAPP_PACKAGENAME, true); updateOomAdj(app); assertNoCpuTime(app); mProcessStateController.startExecutingService(app.mServices, mock(ServiceRecord.class)); updateOomAdj(app); assertCpuTime(app); mProcessStateController.stopAllExecutingServices(app.mServices); updateOomAdj(app); assertNoCpuTime(app); } @SuppressWarnings("GuardedBy") @Test @EnableFlags(Flags.FLAG_CPU_TIME_CAPABILITY_BASED_FREEZE_POLICY) Loading Loading
services/core/java/com/android/server/am/OomAdjuster.java +4 −0 Original line number Diff line number Diff line Loading @@ -1958,6 +1958,10 @@ public abstract class OomAdjuster { // Process has user perceptible activities. return PROCESS_CAPABILITY_CPU_TIME; } if (app.mServices.numberOfExecutingServices() > 0) { // Ensure that services get cpu time during start-up and tear-down. return PROCESS_CAPABILITY_CPU_TIME; } if (app.mServices.hasForegroundServices()) { return PROCESS_CAPABILITY_CPU_TIME; } Loading
services/tests/mockingservicestests/src/com/android/server/am/MockingOomAdjusterTests.java +19 −0 Original line number Diff line number Diff line Loading @@ -898,6 +898,25 @@ public class MockingOomAdjusterTests { assertNoCpuTime(app); } @SuppressWarnings("GuardedBy") @Test @EnableFlags(Flags.FLAG_CPU_TIME_CAPABILITY_BASED_FREEZE_POLICY) public void testUpdateOomAdjFreezeState_executingServices() { final ProcessRecord app = makeDefaultProcessRecord(MOCKAPP_PID, MOCKAPP_UID, MOCKAPP_PROCESSNAME, MOCKAPP_PACKAGENAME, true); updateOomAdj(app); assertNoCpuTime(app); mProcessStateController.startExecutingService(app.mServices, mock(ServiceRecord.class)); updateOomAdj(app); assertCpuTime(app); mProcessStateController.stopAllExecutingServices(app.mServices); updateOomAdj(app); assertNoCpuTime(app); } @SuppressWarnings("GuardedBy") @Test @EnableFlags(Flags.FLAG_CPU_TIME_CAPABILITY_BASED_FREEZE_POLICY) Loading