Skip to content
阅读进度

Shell Transition RemoteAnimation 和 animation leash 有什么用? ​

返回 Framework 与系统服务 目录

标准回答 ​

窗口转场需要把任务或窗口状态变化与动画一起协调。传统 RemoteAnimation 允许受授权组件接管一组远程动画目标;启用 Shell Transitions 的分支会把变化参与者收集到 transition 中,交给 WM Shell 的处理器组织开始、播放和结束。animation leash 是用于动画控制的临时父图层,把目标挂到 leash 下,就能统一修改目标的变换而保留其业务图层结构。动画完成或取消后,要归还控制权、恢复最终层级和状态,并调用完成回调,防止系统一直等待转场。

延伸追问 ​

系统负责确定窗口和任务最终状态,动画控制器负责播放,SurfaceFlinger 负责合成呈现;不要把三者都称为 SurfaceFlinger 动画。

内容来源 ​

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