ios - 什么时候应该将 layer.shouldRasterize 设置为 YES

标签 ios uiview uicollectionview rasterizing

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

view.layer.shouldRasterize = YES;

当使用 UICollectionView 并准备单元格和设置属性时,我发现性能有很大差异。

不确定这意味着什么。

最好能得到解释。 谢谢!

最佳答案

在 WWDC 2012 抛光界面旋转视频(遗憾的是,不再在线提供)中,他们谈到了光栅化图层的优势和影响。

底线如果你有一个复杂的 View (即重新渲染相对昂贵)你正在制作动画,但动画 View 本身并没有改变,光栅化图层可以通过不重新渲染图层来提高性能每时每刻。但这样做是以内存为代价的(在内存中保存光栅化图像)。

但是,如果您在图层中设置动画更改,shouldRasterize 会对性能产生不利影响(因为它将为动画的每一帧重新栅格化图层)。

通常,如果为一组复杂的图层设置动画,而这些图层本身并没有改变,那么您可以将 shouldRasterize 设置为 YES,执行动画,然后关闭应该光栅化

关于ios - 什么时候应该将 layer.shouldRasterize 设置为 YES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19405741/

相关文章:

ios - AVAudioSessionManager availableInputs "Unknown selected data source for port iPhone Microphone"

ios - CLLocationManager 不要停止

objective-c - Json获取参数无法在iOS上访问

objective-c - UITextView 子类作为自身的委托(delegate)

swift - 获取视频数组的缩略图

ios - 如何将我的 xml 文件转换为 kml 文件

iphone - 当 UIView 添加到它的父 View 时,它如何获得回调?

ios - 在 2 个固定点之间滑动 UIView

ios - 捏合手势以展开 UICollectionView Cell

ios - Tap Gesture Recognizer 落后一次