2

当我使用 uiscrollview 向下滚动一个大型图像库时,我一直在使用动画块使图像淡入。

图像是带有子类 calayer 的 uiview,图像是在单独的线程上绘制的,以最大限度地减少滚动粘滞。这很好,但这意味着当你向下滚动时,加载这么多图像现在没有问题,但是图像在它们准备好时就会弹出,没有任何技巧。因此,就在滚动时图像进入视野之前,我正在使用动画块对图像进行动画处理以“弹出”。显然,这会导致卡住,因为我不断地在每个图像/视图上提交动画。

我一直在考虑使用较低级别的 ca-transactions 或 ca 分组,但是有没有人直接知道是否有一种高级方法可以在滚动时将这些动画块(或块的低级替代品)添加/馈送到动画树中,而渲染正在通过(飞行中),没有任何阻塞?

每个图像都有自己的 calayer,将这些图层分组会导致动画延迟吗?

感谢我的简短理解,在苹果和论坛上对核心动画的所有高级解释中,没有人直接谈到这个问题或解决这个问题的方法(大多数讨论是关于对现有动画对象的表示树的隐式更改,而不是比一种实时动态地将动画对象添加到同一渲染树的方式)

或者我可能在性能上遗漏了一些简单的东西,有没有人在滚动时遇到类似的动画视图问题?

4

0 回答 0