From 06b4c417667a897786e5ec88434a9dbdc7f5d165 Mon Sep 17 00:00:00 2001 From: yangyankai1 Date: Mon, 18 Jan 2021 20:45:44 +0800 Subject: [PATCH] No need to 'addChild' when start 'FLAG_ACTIVITY_CLEAR_TOP' Activity. Android R refactor Activity launchMode:'FLAG_ACTIVITY_CLEAR_TOP', 'singleTop','singleInstance'. After Android R restructure, the 'addChild' method leads to Activity leaks. No need to 'addChild' in the current Android version anymore. Test: build pass, feature pass. TestCase: Start a Activity twice with flag 'FLAG_ACTIVITY_CLEAR_TOP'. Reproductivity: always. Bug: 178734693 Signed-off-by: yangyankai1 Change-Id: Ia4d5b875a6592b6448af7500626b5a273bd96dc3 Merged-In: Ia4d5b875a6592b6448af7500626b5a273bd96dc3 --- .../core/java/com/android/server/wm/ActivityStarter.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index c6ed16ce1f4dd..d846c3a6d36ce 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -2098,13 +2098,6 @@ class ActivityStarter { final ActivityRecord top = targetTask.performClearTaskForReuseLocked(mStartActivity, mLaunchFlags); - // The above code can remove {@code reusedActivity} from the task, leading to the - // {@code ActivityRecord} removing its reference to the {@code Task}. The task - // reference is needed in the call below to {@link setTargetStackAndMoveToFrontIfNeeded} - if (targetTaskTop.getTask() == null) { - targetTask.addChild(targetTaskTop); - } - if (top != null) { if (top.isRootOfTask()) { // Activity aliases may mean we use different intents for the top activity,