Skip to content
阅读进度

窗口转场闪烁 错位或动画结束不恢复 怎样排查? ​

返回 Framework 与系统服务 目录

标准回答 ​

我会同时收集 WM、SurfaceFlinger 和 Shell Transition Trace,在 Winscope 按转场 ID 对齐系统容器状态与实际图层状态。先核对参与目标和最终 bounds,再看 leash 的父子关系、matrix、crop、alpha 与 visibility,检查开始和结束事务是否正确应用,目标内容是否及时就绪,以及完成或取消回调是否执行。若只在跨屏或旋转中出现,还要核对 Display 配置和坐标转换。Perfetto 用来补充各线程执行和帧期限,最终定位到具体错误事务或状态交接。

延伸追问 ​

动画视觉结束与系统转场 finish 是两个环节,遗漏 finish 可能让后续转场或状态更新受到影响。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。