From 31e2b362a93eaafc06b03b4b46eb8ada4b6d9319 Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Fri, 15 Jan 2021 13:22:48 -0800 Subject: [PATCH] CachedAppOptimizer: don't take AM lock when freezer is not enabled Freezing and unfreezing don't reqiure the AM lock when freezer is not enabled. Test: boot, no lock contention on unfreezeTemporarily Bug: 161866124 Change-Id: Ic650456aa8938db38b368042ce3f42fa43e7a130 --- .../java/com/android/server/am/CachedAppOptimizer.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index dd09a1c856826..8c53dcdb26986 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -722,10 +722,12 @@ public final class CachedAppOptimizer { // This will ensure app will be out of the freezer for at least FREEZE_TIMEOUT_MS void unfreezeTemporarily(ProcessRecord app) { - synchronized (mAm) { - if (app.frozen) { - unfreezeAppLocked(app); - freezeAppAsync(app); + if (mUseFreezer) { + synchronized (mAm) { + if (app.frozen) { + unfreezeAppLocked(app); + freezeAppAsync(app); + } } } }