mcpField
R
react-native-performance

react-native-performance

github.com/maikotrindade开发1350 次安装今天更新
代码仓库

关于 react-native-performance

面向 React Native 开发者的性能参考技能,涵盖渲染、启动、包体积、原生性能、内存与分析工具,辅助定位和优化应用性能。

主要功能

  1. 01FPS 与重复渲染指导
  2. 02包体积缩减方法
  3. 03TTI 测量方法
  4. 04原生性能与线程
  5. 05内存泄漏模式
  6. 06性能分析工具参考

适用场景

  1. 01建立 FPS 或启动基线
  2. 02查找包体积膨胀原因
  3. 03排查 JavaScript 或原生内存泄漏
  4. 04选择应用性能分析工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/maikotrindade/awesome-react-native-skills --skill react-native-performance

安装后在 Claude Code 中输入/react-native-performance确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
best-practices-profiling.md
core-bundle-size.md
core-fps-rerenders.md
features-memory.md
features-native-performance.md
features-tti.md

详细介绍

React Native 性能

深入的性能参考。 React Native 性能的权威指南 — 涵盖 FlatList 调优、记忆化、Hermes、expo-image、FPS 测量、包体积树状图分析、Hermes mmap、R8 Android、16 KB 页面大小对齐、视图扁平化、原生线程、JNI 内存模式以及性能分析工具链。

Fabric/JSI/TurboModules 架构概览请参阅 react-native-core/features-new-architecture.md。

核心参考

主题描述参考
FPS 与重新渲染FPS 测量、profile-react、React Compiler(Expo SDK 54+)、原子状态、Concurrent React、Reanimated worklets(v3/v4)core-fps-rerenders
包体积应用大小和 JS 包体积优化 — Ruler、Emerge、source-map-explorer、Expo Atlas、摇树优化、barrel exports、R8、资源目录、Hermes mmap、代码分割core-bundle-size

功能

主题描述参考
可交互时间TTI 测量方法、冷启动流程标记、react-native-performancefeatures-tti
原生性能TurboModule 线程处理、同步与异步、视图扁平化、优先使用原生 SDK 而非 JS polyfill、16 KB 对齐、平台配置features-native-performance
内存JS 泄漏检测、原生引用循环、JNI 引用、智能指针、常见泄漏模式features-memory

最佳实践

主题描述参考
性能分析工具DevTools 火焰图、Flashlight、Xcode Instruments、Android Studio Profiler、Perfetto、包体积分析器best-practices-profiling

关键建议

  • 始终先测量 — 没有基线就不要优化(使用 Flashlight 测量 FPS/TTI,使用 source-map-explorer 分析包体积)
  • RN 0.79+ 已移除 Hermes mmap — JS 包现在会驻留在内存中;包体积会直接影响启动内存
  • TurboModules — 快速操作优先使用同步方法;只有当工作需要跨线程时才使用异步方法
  • React Compiler 可通过 Expo SDK 54+ 选择启用(experiments.reactCompiler: true)— 可替代大多数 useMemo/useCallback
  • 重构前先进行性能分析 — 80% 的性能提升来自移除瀑布式调用、昂贵的渲染和臃肿的包体积,而非微优化
  • Reanimated v3 稳定;v4 为选择启用/测试版 — 每个项目选择一个版本,不要混用

评论

支持 Markdown