From 0d095c2a975887823a9c83de408a20e540b79b53 Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Thu, 10 Mar 2022 15:57:13 +0800 Subject: [PATCH] Don't transfer splash screen if activity is finishing. Save more unnecessary memory. Bug: 221703756 Test: atest SplashscreenTests Test: register exit listener at onCreate and finish activity at onStart, verify no transfer splash screen happen at all. Change-Id: If515b0825a56b8899750fde842853724ce17ab41 --- services/core/java/com/android/server/wm/ActivityRecord.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 2153f5f4dd70b..4fd02187d69da 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2476,7 +2476,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } private boolean transferSplashScreenIfNeeded() { - if (!mHandleExitSplashScreen || mStartingSurface == null || mStartingWindow == null + if (finishing || !mHandleExitSplashScreen || mStartingSurface == null + || mStartingWindow == null || mTransferringSplashScreenState == TRANSFER_SPLASH_SCREEN_FINISH) { return false; }