SuperAPI AI 工具集

optimising-expo-react-native-performance

编程与开发

查看项目

更新于 10-16 01:10

技能介绍

用途:针对 Expo React Native 应用的可复现性能回归进行诊断与修复,从用户实际慢流程入手,而不是套用流行优化清单。优化时需保留行为、无障碍、错误上报和数据正确性。

主要能力:先建立实验基线,检查包管理器与 lockfile、Expo SDK、React Native 与 React 版本、Hermes/runtime、新架构、路由、更新配置及性能敏感依赖。定义可重复场景与一个主指标(冷启动时间、输入延迟、丢帧、导航循环后保留内存或端到端请求延迟),并补充少量护栏指标。记录 commit、构建配置、设备/OS、热状态、缓存、数据集、网络、重复次数和测量方法,区分冷启动与热启动,交错运行基线与候选,报告分布与样本数。

使用方式:在代表性硬件上复现并捕获 release 构建基线;用 React Native DevTools 做 React/JS 归因,用原生系统 trace 和 Instruments 查看主线程、渲染、I/O 与分配成本,两类证据保持区分。基于 trace 或计数器提出具体假设,只改一个相关原因。重复同一场景与正确性检查,仅当收益超过运行间波动且不破坏护栏时保留改动。按瓶颈路由:长预交互或 JS 求值查启动关键路径、急切导入、资源加载、更新载荷;长 JS 任务或频繁昂贵提交查状态归属、派生、有界调度、编译器覆盖;JS 空闲但 UI 卡顿查布局、合成、图片解码、原生动画;滚动/回收或媒体压力查行标识、列表 API、图片尺寸/缓存、视频生命周期;保留 JS 堆或原生内存增长查重复导航、监听器、闭包、媒体释放;重复请求或阻塞请求查去重、缓存语义、分页、取消。当前 API 建议使用有界 requestIdleCallback 而非已移除的 InteractionManager;调度不会把 CPU 工作移出 JS 线程;FlashList v2 需要新架构与自动尺寸,不要添加尺寸估算属性;安装或重复配置 React Compiler 前先确认其是否已在运行。运行附带脚本或模板前,先将 SKILL_DIR 解析到该技能安装目录,目标项目需单独传入。

交付:可用 assets/templates/perf-audit-report-template.md,包含症状、基线、因果证据、具体改动、可比的改前改后结果、正确性检查、权衡与未知项。仅源码工作时交付假设与可运行测量计划,不编造耗时。限制:需可复现场景与实测证据,模拟器和开发构建不能替代出货设备测量,不提供通用性能阈值,缺失事实暂未提供。