Skip to content

Commit

Permalink
Do not retain paper view inside legacy interop after it has been recy…
Browse files Browse the repository at this point in the history
…cled

Summary:
Changelog: [Internal]

Paper views are not designed to be recycled, that's why a new view is created each time legacy interop layer is used.
However paper view was not deallocated immediately after it was used, it was still being strongly referenced by `self.contentView`.
This doesn't cause an immediate issue because eventually when legacy interop layer does get reused, it will create a new paper view and replace the old one inside `self.contentView`, triggering deallocation of the old one. But we were retaining the paper view beyond what was necessary.

Reviewed By: mdvacca

Differential Revision: D22066022

fbshipit-source-id: 17c3b81468f50ebcc05f1a7cdf4d4b9b00965fc3
  • Loading branch information
sammy-SC authored and facebook-github-bot committed Jun 16, 2020
1 parent 56689e9 commit 3ff671c
Showing 1 changed file with 1 addition and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ - (void)prepareForRecycle
[_viewsToBeMounted removeAllObjects];
[_viewsToBeUnmounted removeAllObjects];
_state.reset();
self.contentView = nil;
[super prepareForRecycle];
}

Expand Down

0 comments on commit 3ff671c

Please sign in to comment.