Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix potential retain cycles in Animated iOS
Summary: Fixes potential retain cycles detected by an internal fb tool. ``` First: __NSDictionaryM -> RCTPropsAnimatedNode -> _parentNodes -> __NSDictionaryM -> RCTStyleAnimatedNode -> _childNodes -> __NSDictionaryM Second: RCTScrollView -> _eventDispatcher -> RCTEventDispatcher -> _observers -> __NSArrayM -> RCTNativeAnimatedModule -> _nodesManager -> RCTNativeAnimatedNodesManager -> _uiManager -> RCTUIManager -> _viewRegistry -> __NSDictionaryM -> RCTScrollView ``` First fix: Use weak map for parent and child nodes, strong refs are managed by RCTNativeAnimatedNodesManager Second fix: Make RCTEventDispatcher observers a weak array and make sure we don't keep strong refs to UIManager in RCTNativeAnimatedNodesManager and RCTPropsAnimatedNode. Tested that native animations still work in UIExplorer [IOS] [BUGFIX] [NativeAnimated] - Fix potential retain cycles in Animated iOS Closes #16506 Differential Revision: D6126400 Pulled By: shergin fbshipit-source-id: 1ac5083f8ab79a806305edc23ae4796ed428f78b
- Loading branch information
1 parent
18364e9
commit c47759a
Showing
12 changed files
with
33 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
c47759a
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hola, y gracias por ayudarme siempre te tendré por qué te acepte desde el primer instante. Tu sigue así eres de admirar, para lo que veo creo que tienes un iq elevado como yo. Saludos y buenos días operario personal de My Github. Atentamente: vamper424