跨端动画的离屏渲染巡检方法
离屏绘制不等于错误。圆角裁剪、阴影和半透明叠加都可能触发额外图层,是否值得优化要看它是否出现在滚动热区、是否和卡顿对应。先用 DevTools 抓时间线,再决定是否调整组件结构。
例如,列表卡片不需要裁剪时,不要习惯性包ClipRRect;需要裁剪时把范围收在图片本身,而不是整个复杂卡片。对局部动画可用RepaintBoundary隔离,但边界也有缓存成本,滚动列表中要谨慎。
ClipRRect( borderRadius: BorderRadius.circular(12), child: Image.network(url, fit: BoxFit.cover), )巡检可以把 profile 模式的录制、关键页面截图和版本对比纳入 CI,但结果应作为提示而非单一门禁。设备、渲染器和数据量都会影响数字。每次改动只追一个可观察的问题,才能知道优化是否真的生效。