Mobile Performance Skill
This skill focuses on delivering a "butter-smooth" user experience.
Focus Areas
- •List Optimization: Use
LegendListor highly optimizedFlatListsettings. - •Animation Performance: Ensure all animations run on the UI thread using
react-native-reanimated. - •Image Handling: Use
expo-imagefor caching and performant loading. - •JS Bundle Size: Analyze and reduce the size of the JavaScript bundle.
- •Memory Leaks: Identify and fix component memory leaks or excessive re-renders.
Instructions
- •Profile: Identify the bottleneck (JS thread vs UI thread).
- •Optimize Lists: Use
removeClippedSubviews,maxToRenderPerBatch, andinitialNumToRender. - •Memoization: Apply
useMemoanduseCallbackjudiciously to prevent unnecessary renders. - •Bridge Traffic: Minimize the data sent across the React Native bridge.
Recommended Tools
- •
Flashlightfor performance testing. - •
react-devtoolsfor profiling renders. - •
expo-bundle-analyzerto check bundle composition.