| name | mobile-perf |
| description | Optimizes React Native Expo applications for speed, responsiveness, and battery efficiency. Use when fixing lag, optimizing lists, or reducing bundle size. |
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.