From 1eabad19a7854293e458ebb910516c68b91fe6ba Mon Sep 17 00:00:00 2001 From: Jing Ji Date: Mon, 8 May 2023 22:10:30 -0700 Subject: [PATCH] Allocate the frozen app duration array with the LRU size Bug: 281356186 Test: adb shell cmd stats pull-source 10189 Change-Id: Ica2ec04a8a6b9f3ba421f6dd6f512791cc22c1c7 --- services/core/java/com/android/server/am/AppProfiler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/am/AppProfiler.java b/services/core/java/com/android/server/am/AppProfiler.java index c687184a5a718..05e1370cd4c9a 100644 --- a/services/core/java/com/android/server/am/AppProfiler.java +++ b/services/core/java/com/android/server/am/AppProfiler.java @@ -500,10 +500,11 @@ public class AppProfiler { mLatestFrozenTimestamp = 0L; mTotalFrozenDurations = 0L; mNumOfFrozenApps = 0; + final int lruSize = mService.mProcessList.getLruSizeLOSP(); if (mCachedAppFrozenDurations == null - || mCachedAppFrozenDurations.length < mCachedAppHighWatermark) { + || mCachedAppFrozenDurations.length < lruSize) { mCachedAppFrozenDurations = new long[Math.max( - mCachedAppHighWatermark, mService.mConstants.CUR_MAX_CACHED_PROCESSES)]; + lruSize, mService.mConstants.CUR_MAX_CACHED_PROCESSES)]; } mService.mProcessList.forEachLruProcessesLOSP(true, app -> { if (app.mOptRecord.isFrozen()) {