CALayer与支持Layer的NSView性能

时间:2016-03-01 22:26:25

标签: ios macos cocoa cocoa-touch core-animation

我计划在一个视图中包含数百个CALayer个对象,这些对象位于彼此内部并且彼此相邻。因此,这必须尽可能高效。这些层不是很复杂。它们是不透明的,可以是文本或形状层。这层数量必须得到铺设。我会使用CAConstraints

来自Apples文档:

  

重要提示:在OS X v10.8及更高版本中,建议您最小化层层次结构的使用,并仅使用图层支持的视图。在该版本的OS X中引入的图层重绘策略允许您自定义图层支持的视图的行为,并且仍然可以获得您之前使用独立图层获得的性能。

我知道CALayer个对象比视图更轻量级。我不确定为什么我们应该直接使用图层支持的视图而不是图层。它是为了易于使用自动布局还是与此声明有更多的性能/内存相关的原因?我希望获得最佳性能,因为此代码将在OS X和iOS上运行。

我应该走哪条路?自动布局和图层支持的NSViews或自定义CALayer层次结构?

1 个答案:

答案 0 :(得分:0)

我决定使用图层支持的视图。到目前为止表现非常好。这些视图都是由stackViews完成的。