diff options
| author | 2024-05-21 07:08:41 +0000 | |
|---|---|---|
| committer | 2024-05-21 07:08:41 +0000 | |
| commit | 9db036da3a99a15c0f435aa92fbbab330f94e702 (patch) | |
| tree | 8041976f3de2dfbabcfa292f25c4ad070628f520 | |
| parent | dad6b3de032b024ef41a695c538b7af9eb6b79c0 (diff) | |
| parent | deea0b5d48e17e5c64284d9400501954545dc609 (diff) | |
Merge "Skip background memory trim if the app is in the foreground state" into main
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 6 | ||||
| -rw-r--r-- | core/java/android/app/activity_manager.aconfig | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index d4812dd612c3..76c1ed619510 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -18,6 +18,7 @@ package android.app; import static android.app.ActivityManager.PROCESS_STATE_UNKNOWN; import static android.app.ConfigurationController.createNewConfigAndUpdateIfNotNull; +import static android.app.Flags.skipBgMemTrimOnFgApp; import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; import static android.app.servertransaction.ActivityLifecycleItem.ON_CREATE; @@ -7078,6 +7079,11 @@ public final class ActivityThread extends ClientTransactionHandler if (DEBUG_MEMORY_TRIM) Slog.v(TAG, "Trimming memory to level: " + level); try { + if (skipBgMemTrimOnFgApp() + && mLastProcessState <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND + && level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) { + return; + } if (level >= ComponentCallbacks2.TRIM_MEMORY_COMPLETE) { PropertyInvalidatedCache.onTrimMemory(); } diff --git a/core/java/android/app/activity_manager.aconfig b/core/java/android/app/activity_manager.aconfig index bb24fd19315e..fa646a76768c 100644 --- a/core/java/android/app/activity_manager.aconfig +++ b/core/java/android/app/activity_manager.aconfig @@ -70,3 +70,14 @@ flag { purpose: PURPOSE_BUGFIX } } + +flag { + namespace: "backstage_power" + name: "skip_bg_mem_trim_on_fg_app" + description: "Skip background memory trim event on foreground processes." + is_fixed_read_only: true + bug: "308927629" + metadata { + purpose: PURPOSE_BUGFIX + } +} |