From 5c841cbd21557d9e13cbf76bf5fef3d0554b581a Mon Sep 17 00:00:00 2001 From: Jernej Virag Date: Mon, 22 May 2023 21:49:25 +0200 Subject: Don't use trimMemory(BACKGROUND) for lockscreen trimming. Use a more lightweight trimCaches() call instead, which is much safer. Bug: 275486055 Test: atest ResourceTrimmer perfetto test runs on cheetah Change-Id: I32b524ff55d732c0f0879301cc0956ba21e50174 --- .../src/com/android/systemui/keyguard/ResourceTrimmer.kt | 3 ++- .../src/com/android/systemui/keyguard/ResourceTrimmerTest.kt | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt index d8affa4d6c21..1978b3d048b7 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt @@ -139,7 +139,8 @@ constructor( if (dozeDisabledAndScreenOff || dozeEnabledAndDozeAnimationCompleted) { Trace.beginSection("ResourceTrimmer#trimMemory") Log.d(LOG_TAG, "SysUI asleep, trimming memory.") - globalWindowManager.trimMemory(ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) + globalWindowManager.trimMemory(ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) + globalWindowManager.trimCaches(HardwareRenderer.CACHE_TRIM_ALL) Trace.endSection() } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt index 548d26f2aaed..78a65a8473db 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt @@ -98,7 +98,8 @@ class ResourceTrimmerTest : SysuiTestCase() { ) testScope.runCurrent() verify(globalWindowManager, times(1)) - .trimMemory(ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) + .trimMemory(ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) + verify(globalWindowManager, times(1)).trimCaches(HardwareRenderer.CACHE_TRIM_ALL) } @Test @@ -115,7 +116,8 @@ class ResourceTrimmerTest : SysuiTestCase() { ) testScope.runCurrent() verify(globalWindowManager, times(1)) - .trimMemory(ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) + .trimMemory(ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) + verify(globalWindowManager, times(1)).trimCaches(HardwareRenderer.CACHE_TRIM_ALL) } @Test @@ -161,7 +163,8 @@ class ResourceTrimmerTest : SysuiTestCase() { keyguardRepository.setDozeAmount(1f) testScope.runCurrent() verify(globalWindowManager, times(1)) - .trimMemory(ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) + .trimMemory(ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) + verify(globalWindowManager, times(1)).trimCaches(HardwareRenderer.CACHE_TRIM_ALL) } } -- cgit v1.2.3-59-g8ed1b