使用默认表单幻灯片切换时,只有一个表单被缓冲为图像,为什么



我调试了CommonTransitions以查看过渡的工作原理,并注意到只有一个表单通过图像绘制,而不是另一个。

现在我很好奇——为什么会这样?

让我研究这个问题的是,在两个相同表单的过渡中,只有源表单被正确绘制,而不是目标表单,这是因为自定义组件依赖于 translationX 比屏幕左侧的距离 - 因此幻灯片过渡目标表单在过渡过程中并不总是绘制相同。

你不应该依赖这些,因为在许多情况下,这些会失败。

有"快速幻灯片",它可以将两者绘制到图像上,但它实际上是"慢速幻灯片"。在旧设备上,为图像绘画或"双缓冲"非常快,但在较新的设备上则相反,因此我们尽量避免图像缓冲。

这并不总是可行的,并且有大量遗留代码,但通常将表单绘制到图像以使其呈现速度较慢。

最新更新