938e1d51c4
Summary: @public ShadowNode class is designed to share `props` and `children` objects between instances. Given that all *Props classes are immutable, it's very easy to share them and we do this from the day one. The `children_` collection is more tricky though because ShadowNode class has a couple of mutation methods. Previously, we dealt with it very simply by copying the whole vector in constructors, and that was far from optimal. Now we store a special flag that indicates that the children list is shared among nodes, and we clone this before the first mutation. Sharing a `shared_ptr` should be much more efficient (cost of atomic refcount increment) than instantiating whole new collection (an allocation). Reviewed By: mdvacca Differential Revision: D8988386 fbshipit-source-id: cb2f6b2fccac70a35e070a1aa108d135f77cd041 |
||
---|---|---|
.. | ||
attributedstring | ||
components | ||
core | ||
debug | ||
events | ||
graphics | ||
imagemanager | ||
sample | ||
textlayoutmanager | ||
uimanager |