From 45b6ee7bce88a5c27c247f0a2c563487d07e58d5 Mon Sep 17 00:00:00 2001 From: Cobra_Fast Date: Fri, 3 Jul 2026 15:53:51 +0200 Subject: [PATCH] crdroid: Add screen-on memory reclaim toggle --- core/java/android/provider/Settings.java | 8 ++++++++ .../com/android/server/policy/PhoneWindowManager.java | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 53a455b6a306f..3d00fda7a9729 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -7407,6 +7407,14 @@ public static void setShowGTalkServiceStatusForUser(ContentResolver cr, boolean */ public static final String POCKET_JUDGE = "pocket_judge"; + /** + * Whether to reclaim memory by killing cached apps shortly after screen on. + * 0 = disabled + * 1 = enabled + * @hide + */ + public static final String SCREEN_ON_MEMORY_RECLAIM = "screen_on_memory_reclaim"; + /** * Whether to show heads up only for dialer and sms apps * @hide diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 3f76a3a7acecc..dff875238d7b2 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -8247,6 +8247,10 @@ private void toggleRingerModes() { } private void releaseMemoryAtScreenOn() { + if (Settings.System.getIntForUser(mContext.getContentResolver(), + Settings.System.SCREEN_ON_MEMORY_RECLAIM, 1, UserHandle.USER_CURRENT) == 0) { + return; + } long currentTime = System.currentTimeMillis(); if (lastMemoryReleaseTime == 0L || currentTime - lastMemoryReleaseTime > MEMORY_RELEASE_INTERVAL_MS) { try {