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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user