Merge "Clear the pending app freezer task if it's killed." into sc-dev

This commit is contained in:
Jing Ji
2021-04-12 22:29:22 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 0 deletions

View File

@@ -11501,6 +11501,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);

View File

@@ -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;