From 8f5e00025778f3b34af9095edb173b0939e7f0b4 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 Merged-In: 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 cb9271c6bf531..edd0c5b72c5e8 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); + } } } }