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.

Signed-off-by: yangyankai1 <yangyankai1@xiaomi.com>
Change-Id: Ia4d5b875a6592b6448af7500626b5a273bd96dc3
This commit is contained in:
yangyankai1
2021-01-18 20:45:44 +08:00
parent 5dbc2cd15d
commit 9f748c3979

View File

@@ -2023,13 +2023,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,