Loading services/core/java/com/android/server/am/BroadcastQueue.java +7 −0 Original line number Diff line number Diff line Loading @@ -798,7 +798,10 @@ public final class BroadcastQueue { mService.updateOomAdjPendingTargetsLocked( OomAdjuster.OOM_ADJ_REASON_START_RECEIVER); } } else if (filter.receiverList.app != null) { mService.mOomAdjuster.mCachedAppOptimizer.unfreezeTemporarily(filter.receiverList.app); } try { if (DEBUG_BROADCAST_LIGHT) Slog.i(TAG_BROADCAST, "Delivering to " + filter + " : " + r); Loading Loading @@ -1132,6 +1135,10 @@ public final class BroadcastQueue { } } if (sendResult) { if (r.callerApp != null) { mService.mOomAdjuster.mCachedAppOptimizer.unfreezeTemporarily( r.callerApp); } try { if (DEBUG_BROADCAST) { Slog.i(TAG_BROADCAST, "Finishing broadcast [" + mQueueName + "] " Loading services/core/java/com/android/server/am/CachedAppOptimizer.java +10 −0 Original line number Diff line number Diff line Loading @@ -720,6 +720,16 @@ 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); } } } @GuardedBy("mAm") void freezeAppAsync(ProcessRecord app) { mFreezeHandler.removeMessages(SET_FROZEN_PROCESS_MSG, app); Loading Loading
services/core/java/com/android/server/am/BroadcastQueue.java +7 −0 Original line number Diff line number Diff line Loading @@ -798,7 +798,10 @@ public final class BroadcastQueue { mService.updateOomAdjPendingTargetsLocked( OomAdjuster.OOM_ADJ_REASON_START_RECEIVER); } } else if (filter.receiverList.app != null) { mService.mOomAdjuster.mCachedAppOptimizer.unfreezeTemporarily(filter.receiverList.app); } try { if (DEBUG_BROADCAST_LIGHT) Slog.i(TAG_BROADCAST, "Delivering to " + filter + " : " + r); Loading Loading @@ -1132,6 +1135,10 @@ public final class BroadcastQueue { } } if (sendResult) { if (r.callerApp != null) { mService.mOomAdjuster.mCachedAppOptimizer.unfreezeTemporarily( r.callerApp); } try { if (DEBUG_BROADCAST) { Slog.i(TAG_BROADCAST, "Finishing broadcast [" + mQueueName + "] " Loading
services/core/java/com/android/server/am/CachedAppOptimizer.java +10 −0 Original line number Diff line number Diff line Loading @@ -720,6 +720,16 @@ 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); } } } @GuardedBy("mAm") void freezeAppAsync(ProcessRecord app) { mFreezeHandler.removeMessages(SET_FROZEN_PROCESS_MSG, app); Loading