56

通过设置视图的 layer 属性,我看到了一些延迟问题的修复

view.layer.shouldRasterize = YES;

在使用 UICollectionView 并准备单元格和设置属性时,我看到了性能上的巨大差异。

不确定有什么影响。

得到解释会很棒。谢谢!

4

1 回答 1

70

在 WWDC 2012 Polishing Your Interface Rotations 视频(遗憾的是,不再在线提供)中,他们谈到了栅格化图层的优势和影响。

底线如果您有一个复杂的视图(即重新渲染相对昂贵),您正在制作动画,但动画视图本身并没有改变,光栅化图层可以通过不重新渲染图层来提高性能. 但它会以内存为代价(将光栅化图像保存在内存中)。

但是,如果您对图层内的更改进行动画处理,shouldRasterize则会对性能产生不利影响(因为它将为动画的每一帧重新光栅化图层)。

通常,如果为一组复杂的图层设置动画,而这些图层本身不会发生变化,那么您可以设置shouldRasterizeYES,执行动画,然后关闭shouldRasterize

于 2013-10-16T16:04:23.140 回答