From 1156795e4a5c6f137221b749bc1161d601321fe4 Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Sat, 7 Mar 2020 15:29:42 -0800 Subject: [PATCH] freezer: unfreeze upon creation of WPRI binding If a process is already frozen when an unfrozen process creates a WPRI binding to it, unfreeze the process. Test: more webview tests Bug: 151017456 Change-Id: Ifcc7166859d53f141b6e5418bc8eeddd2a12defb --- services/core/java/com/android/server/am/OomAdjuster.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/OomAdjuster.java b/services/core/java/com/android/server/am/OomAdjuster.java index 644f0f7763875..91348aaea9c49 100644 --- a/services/core/java/com/android/server/am/OomAdjuster.java +++ b/services/core/java/com/android/server/am/OomAdjuster.java @@ -2588,8 +2588,13 @@ public final class OomAdjuster { return; } + // if an app is already frozen and shouldNotFreeze becomes true, immediately unfreeze + if (app.frozen && app.shouldNotFreeze) { + mCachedAppOptimizer.unfreezeAppLocked(app); + } + // Use current adjustment when freezing, set adjustment when unfreezing. - if (app.curAdj >= ProcessList.CACHED_APP_MIN_ADJ && !app.frozen) { + if (app.curAdj >= ProcessList.CACHED_APP_MIN_ADJ && !app.frozen && !app.shouldNotFreeze) { mCachedAppOptimizer.freezeAppAsync(app); } else if (app.setAdj < ProcessList.CACHED_APP_MIN_ADJ && app.frozen) { mCachedAppOptimizer.unfreezeAppLocked(app);