Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix android root view group removal during instance re-creation #41678

Closed

Conversation

wschurman
Copy link
Contributor

@wschurman wschurman commented Nov 28, 2023

Summary:

This is my proposed solution to #41677.

Fixes #41677.

Changelog:

[ANDROID] [FIXED] - Fix android root view group removal during instance re-creation

Test Plan:

Both with fabric enabled and disabled (new architecture):

  1. Clone repro repo: https://github.com/wschurman/rn-reload-repro
  2. Build and run on android (I use android studio)
  3. Click reload button, see timestamp doesn't change (indicating that the view is not removed)
  4. Apply this PR as a patch.
  5. Re-build and run.
  6. Click reload button, see view is correctly disposed of and the new view is set.

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. labels Nov 28, 2023
@javache
Copy link
Member

javache commented Nov 28, 2023

This seems reasonable. Please also test this change with the new architecture and the original repro in #37004

@analysis-bot
Copy link

Platform Engine Arch Size (bytes) Diff
android hermes arm64-v8a 17,680,860 -16
android hermes armeabi-v7a n/a --
android hermes x86 n/a --
android hermes x86_64 n/a --
android jsc arm64-v8a 21,063,903 -7
android jsc armeabi-v7a n/a --
android jsc x86 n/a --
android jsc x86_64 n/a --

Base commit: 129bd9d
Branch: main

@wschurman
Copy link
Contributor Author

@javache - tested, updated test plan

@facebook-github-bot
Copy link
Contributor

@javache has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Nov 29, 2023
@facebook-github-bot
Copy link
Contributor

@javache merged this pull request in bb075d7.

douglowder pushed a commit to react-native-tvos/react-native-tvos that referenced this pull request Nov 30, 2023
Summary:
This is my proposed solution to facebook/react-native#41677.

Fixes facebook/react-native#41677.

## Changelog:

[ANDROID] [FIXED] - Fix android root view group removal during instance re-creation

Pull Request resolved: facebook/react-native#41678

Test Plan:
Both with fabric enabled and disabled (new architecture):

1. Clone repro repo: https://github.com/wschurman/rn-reload-repro
2. Build and run on android (I use android studio)
3. Click reload button, see timestamp doesn't change (indicating that the view is not removed)
4. Apply this PR as a patch.
5. Re-build and run.
6. Click reload button, see view is correctly disposed of and the new view is set.

Reviewed By: cortinico

Differential Revision: D51658524

Pulled By: javache

fbshipit-source-id: d9a026cde677ad1ec113230bc31bd9297bca8bfc
huntie pushed a commit that referenced this pull request Dec 1, 2023
Summary:
This is my proposed solution to #41677.

Fixes #41677.

## Changelog:

[ANDROID] [FIXED] - Fix android root view group removal during instance re-creation

Pull Request resolved: #41678

Test Plan:
Both with fabric enabled and disabled (new architecture):

1. Clone repro repo: https://github.com/wschurman/rn-reload-repro
2. Build and run on android (I use android studio)
3. Click reload button, see timestamp doesn't change (indicating that the view is not removed)
4. Apply this PR as a patch.
5. Re-build and run.
6. Click reload button, see view is correctly disposed of and the new view is set.

Reviewed By: cortinico

Differential Revision: D51658524

Pulled By: javache

fbshipit-source-id: d9a026cde677ad1ec113230bc31bd9297bca8bfc
Othinn pushed a commit to Othinn/react-native that referenced this pull request Jan 9, 2024
…book#41678)

Summary:
This is my proposed solution to facebook#41677.

Fixes facebook#41677.

## Changelog:

[ANDROID] [FIXED] - Fix android root view group removal during instance re-creation

Pull Request resolved: facebook#41678

Test Plan:
Both with fabric enabled and disabled (new architecture):

1. Clone repro repo: https://github.com/wschurman/rn-reload-repro
2. Build and run on android (I use android studio)
3. Click reload button, see timestamp doesn't change (indicating that the view is not removed)
4. Apply this PR as a patch.
5. Re-build and run.
6. Click reload button, see view is correctly disposed of and the new view is set.

Reviewed By: cortinico

Differential Revision: D51658524

Pulled By: javache

fbshipit-source-id: d9a026cde677ad1ec113230bc31bd9297bca8bfc
@satheshrgs-rksv
Copy link

@wschurman Can you please help with this thread - #45217 (comment) Will the changes done here cause a memory leak ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ReactInstanceManager.recreateReactContextInBackground does not remove the stale root view group
5 participants