Is anyone else hitting a wall with memory management on the New Architecture, or is it just my bridge-less assumptions?
Hey everyone,
We recently finished migrating our production app over to the New Architecture (fully bridging-free, using the latest Expo/RN setup). While the rendering performance and interaction responses feel incredibly crisp compared to the old bridge architecture, we’ve started noticing some unexpected memory spikes on mid-range Android devices after prolonged use.
Before the migration, our garbage collection sweeps were fairly predictable. Now, it feels like certain high-frequency Reanimated worklets or heavy view recycling inside lists are holding onto native memory allocations longer than they used to.
I’m trying to figure out if this is:
A genuine quirk with how JSI/Nitro handles garbage collection boundaries between JS and the native runtime.
An optimization issue on our end with how we pass deep-nested objects through native boundaries.
Just standard growing pains of the ecosystem adjusting to the new framework.
For those of you who have scaled apps past 10k users on the New Architecture, what has your profiling experience been like? Are there specific memory leaks or instrumentation tricks you’ve uncovered that standardFlipper/Chrome DevTools are missing?
Would love to hear how teams are handling profiling right now.