AOSP14 Launcher3——最近任务TaskViewSimulator详解

前言:TaskViewSimulator 这个类在最近任务中起到了一个非常重要的作用。
从字面意思上理解,这个单词是由TaskView+Simulator组合而来,字面意思就是TaskView的模拟器,顾名思义,就是一个用来模拟TaskView的类。
为什么要模拟TaskView呢?这个类跟TaskView本身又有什么关系和区别呢?本文来详解一下这个类。

我们来详细解释一下 quickstep/src/com/android/quickstep/util/TaskViewSimulator.java 这个类的作用。

核心作用 (Core Purpose):

TaskViewSimulator 的核心作用是模拟(Simulate)一个应用窗口(由 RemoteAnimationTarget 代表,本质是一个 SurfaceControl Leash)在手势导航过程中,从全屏状态过渡到最近任务(RecentsView)中的任务卡片(TaskView)外观所需的视觉变换(Visual Transformation)

简单来说,当你在屏幕底部上滑时,你看到的那个正在缩小的应用窗口,它的大小、位置、裁剪区域、圆角等视觉属性,并不是直接由 RecentsView 里的 TaskView 控制的,而是由 TaskViewSimulator 计算出来,然后应用到系统层级的应用窗口 Leash 上的。它扮演了一个**“虚拟 TaskView 布局计算器”**的角色。

为什么需要模拟?(Why Simulation is Needed):

  1. 解耦 (Decoupling): 最近任务动画是由 SystemUI (WindowManager/Shell) 发起的,它控制的
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值