weapp-vite-wevu-performance-best-practices

weapp-vite-wevu-performance-best-practices

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "weapp-vite-wevu-performance-best-practices" with this command: npx skills add sonofmagic/skills/sonofmagic-skills-weapp-vite-wevu-performance-best-practices

weapp-vite-wevu-performance-best-practices

Purpose

在 weapp-vite + wevu 项目中做“可测量、可回归”的性能优化,优先处理运行时瓶颈(setData 、滚动渲染、页面切换、资源加载、内存)。

Trigger Signals

  • 用户反馈页面卡顿、滚动掉帧、交互延迟。

  • 用户反馈页面切换慢、首屏慢、偶发白屏。

  • 用户提到 setData 频繁、payload 大、调试日志告警。

  • 用户提到图片导致卡顿/内存上涨。

  • 用户提到 iOS 内存告警、被系统回收、闪退。

  • 用户要求“做一套性能优化方案/Checklist/基线与回归机制”。

Scope Boundary

本 skill 聚焦“性能诊断与优化执行”。

以下情况不应作为主 skill:

  • 主要是工程架构/分包/构建编排问题。使用 weapp-vite-best-practices 。

  • 主要是 .vue 宏和模板兼容问题。使用 weapp-vite-vue-sfc-best-practices 。

  • 主要是生命周期/store/event 语义重构。使用 wevu-best-practices 。

  • 主要是原生到 wevu 的迁移方案。使用 native-to-weapp-vite-wevu-migration 。

Quick Start

  • 建立基线:明确慢点是 setData 、渲染、切换、资源还是内存。

  • 先开低风险优化:weapp.wevu.preset: 'performance'

  • 针对页面启用 autoSetDataPick 。
  • 按五类场景逐项收敛:setData -> 渲染 -> 切换 -> 资源 -> 内存 。

  • 每次只改一类变量,并附带最小验证命令与回归信号。

Execution Protocol

  • Baseline first

  • 收集关键链路:页面切换耗时、首屏渲染耗时、滚动时长链路、内存告警出现时机。

  • 区分“偶发抖动”与“稳定复现”场景,优先复现稳定问题。

  • setData path(最高优先)

  • 先启用/确认 setData 策略:patch 、suspendWhenHidden 、highFrequencyWarning 。

  • 用 autoSetDataPick 减少模板未使用字段进入快照。

  • 避免在高频回调(尤其 onPageScroll )里直接高频 setData 。

  • Render path

  • 非必要不监听 onPageScroll 。

  • 元素曝光与可见性逻辑优先使用 useIntersectionObserver() 。

  • 动画优先 CSS / 平台动画,不用连续 setData 驱动整页动画。

  • Navigation path

  • 控制前页 onHide/onUnload 耗时逻辑,必要时延后执行。

  • 对分包页面的“跳转到 onLoad 前窗口期”提前请求数据。

  • 结合分包与 lazyCodeLoading ,减少切换时注入与阻塞。

  • Resource + Memory path

  • 图片按展示尺寸供图,避免大图与无节制 widthFix/heightFix 。

  • 在 onMemoryWarning() 回调释放缓存、监听、定时器和长生命周期对象。

  • 页面/组件卸载时确保副作用清理闭环(监听、timer、长任务回调)。

  • Verify narrowly

  • 每轮改动给出“预期收益 + 可观测信号 + 回滚开关”。

  • 优先跑定向验证,再决定是否扩大验证范围。

Guardrails

  • 不要一次性同时改“构建策略 + 运行时策略 + 业务逻辑”。

  • 不要只看平均值,至少观察慢链路(P95/P99)或最差帧表现。

  • 不要把“告警消失”当作“性能已达标”的唯一依据。

  • 不要在未建立基线时做大规模重构。

Output Contract

应用本 skill 时,输出必须包含:

  • 性能问题分类(setData/render/nav/resource/memory)。

  • 文件级最小改动建议(按优先级)。

  • 对应验证命令与验收信号。

  • 风险、回滚点与后续观察项。

Completion Checklist

  • 有明确的优化前后基线对照。

  • setData 高频路径已收敛(频率/范围/payload)。

  • 滚动与曝光逻辑不依赖高频 onPageScroll + setData 轮询。

  • 页面切换链路没有明显 onHide/onUnload 阻塞。

  • 资源策略对图片体积和布局抖动有约束。

  • 内存告警与卸载清理机制已覆盖关键页面。

References

  • references/runtime-perf-matrix.md

  • references/tuning-recipes.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

weapp-tailwindcss

No summary provided by upstream source.

Repository SourceNeeds Review
General

wevu-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

weapp-vite-vue-sfc-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

native-to-weapp-vite-wevu-migration

No summary provided by upstream source.

Repository SourceNeeds Review