Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e295986 authored by Jing Ji's avatar Jing Ji
Browse files

Clear the pending app freezer task if it's killed.

Bug: 184893012
Test: Manual - put app in cached state and kill it
Change-Id: I0010c8a5aa738442de0d2dbef7affe791aa5fc80
parent 7972c833
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -11492,6 +11492,9 @@ public class ActivityManagerService extends IActivityManager.Stub
            // and it's not isolated, as we'd need the signal to bookkeeping the dying process list.
            restart = app.onCleanupApplicationRecordLSP(mProcessStats, allowRestart,
                    fromBinderDied || app.isolated /* unlinkDeath */);
            // Cancel pending frozen task if there is any.
            mOomAdjuster.mCachedAppOptimizer.unscheduleFreezeAppLSP(app);
        }
        mAppProfiler.onCleanupApplicationRecordLocked(app);
        skipCurrentReceiverLocked(app);
+10 −0
Original line number Diff line number Diff line
@@ -974,6 +974,16 @@ public final class CachedAppOptimizer {
        }
    }

    /**
     * To be called when the given app is killed.
     */
    @GuardedBy({"mAm", "mProcLock"})
    void unscheduleFreezeAppLSP(ProcessRecord app) {
        if (mUseFreezer) {
            mFreezeHandler.removeMessages(SET_FROZEN_PROCESS_MSG, app);
        }
    }

    @VisibleForTesting
    static final class LastCompactionStats {
        private final long[] mRssAfterCompaction;