章节摘要:功能齐了不等于能出门。本章给轻记账设两道质量关卡:性能关——用 DevTools 把掉帧、卡顿、内存与包体积逐项过堂,修掉重建失控与同步计算这些高频病灶;正确性关——单元、Widget、集成三层测试各司其职,把前面章节的仓库、同步、界面全部纳入自动防线。读完本章,你面对"有点卡""不敢改"这两句最常见的项目遗言,都有了系统性的解法。
读完本章,你应当能够:
一句话立住本章:性能优化的原料是测量不是感觉,质量保障的原料是自动化不是自觉——关卡的意义就是把这两件事变成流程。
06-1 性能仪表盘:DevTools 性能视图的读法,UI 线程与光栅线程的分工记账,性能叠加层的日常开启,内存视图的第一眼。测量先于优化。
06-2 优化现场:从重建到包体积:第 2 章的机制知识在这里变现——重建收窄三件套、列表与图片两大高频场景、启动与包体积的构成与瘦身。每一招都先测后改再验。
06-3 测试三层防线:单元测仓库与控制器、Widget 测界面行为、集成测关键路径,三层各拦什么雷、怎么写、怎么进流水线。第 4、5 章的仓库模式与幂等同步在这里兑现红利。
两道关卡一纵一横:性能是纵深的——从现象(卡)到测量(哪帧哪线程)到病灶(重建、布局、计算)到药方(06-1 与 06-2 的先后两节);测试是横切的——不针对某个性能点,而是给全项目的行为兜底,06-3 的用例大量来自第 4、5 章的架构铺垫。性能与测试还会互相成就:性能优化最容易改出新缺陷,测试防线让优化敢下手;测试自身要快,性能账本里也有它一笔。
以下条目均可自测,答不出的就是没读透的位置:
[06-1 仪表盘] ──测出──> [病灶清单] ──逐项修──> [06-2 优化现场] ^ │ └──────────── 改完复测 闭环 <────────────────┘ [06-3 三层测试] ══ 横切兜底 · 优化敢下手的前提 ══
前置:第 2 章全章(管线、三棵树、Isolate 是本章全部理论依据)、第 3 章的 const 与动画纪律、第 4 章的仓库模式、第 5 章的幂等同步。
本章的实操建议按"先立仪表、再立防线"的顺序推进:06-1 的叠加层今天就开起来,让它成为日常开发的背景音;06-2 的每个优化案例都对应一类可复现现象,建议先在自己的工程里复现一遍再动手修;06-3 的三层测试不必一次铺满,先给仓库与同步这两个最稳的层补单元测试,Widget 与集成随后跟进——防线是长出来的,不是一次浇灌出来的。
延伸:本章的流水线将在第 7 章的多端发布中作为准入门槛(各端构建前先跑测试);重建收窄的手法在 Web 端要叠加画布模式的额外成本考虑;性能预算的概念可以扩展到团队协作——把"帧耗时与包体积写进验收标准",是让本章从个人技艺变成团队机制的路径。