Why is expo-router so slow on Android (production)
Article Summary
Expo-router tab navigation taking 1+ second on Android production builds? You're not alone, and the culprit might surprise you.
A React Native developer posted about severe navigation lag on expo-router in production Android builds, even on blank screens. The Reddit thread sparked a deep dive into performance optimization, with developers sharing battle-tested solutions that dramatically improved navigation speed.
Key Takeaways
- Navigation stack memory leaks cause slowdowns when screens aren't properly reset
- Optimizing rerenders with useShallow, memo(), and moving constants outside components helped most
- Setting lazy: false and freezeOnBlur: true on Tabs significantly improved performance
- Switching to react-navigation provided fastest navigation, even on older devices
- Heavy tab icons (oversized images) can freeze Android during resize operations
Critical Insight
The developer fixed most lag by optimizing rerenders with Profiler debugging and strategic memoization, then switched to react-navigation for the best results.