我看到通过设置 View 的图层属性修复了一些延迟问题
view.layer.shouldRasterize = YES;
当使用 UICollectionView 并准备单元格和设置属性时,我发现性能有很大差异。
不确定这意味着什么。
最好能得到解释。 谢谢!
最佳答案
在 WWDC 2012 抛光界面旋转视频(遗憾的是,不再在线提供)中,他们谈到了光栅化图层的优势和影响。
底线如果你有一个复杂的 View (即重新渲染相对昂贵)你正在制作动画,但动画 View 本身并没有改变,光栅化图层可以通过不重新渲染图层来提高性能每时每刻。但这样做是以内存为代价的(在内存中保存光栅化图像)。
但是,如果您在图层中设置动画更改,shouldRasterize
会对性能产生不利影响(因为它将为动画的每一帧重新栅格化图层)。
通常,如果为一组复杂的图层设置动画,而这些图层本身并没有改变,那么您可以将 shouldRasterize
设置为 YES
,执行动画,然后关闭应该光栅化
。
关于ios - 什么时候应该将 layer.shouldRasterize 设置为 YES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19405741/