CALayer与Layer-backed NSView性能比较

8
我打算创建一个视图,其中包含数百个相互挨着的CALayer对象。因此,它必须尽可能地具备高性能。这些层并不是很复杂。它们是不透明的,可以是文本或形状层。这些层的数量必须进行布局。我将使用CAConstraints来实现。

从苹果文档中得知:

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

我知道CALayer对象比视图更轻量级。但我不确定为什么应该使用支持层视图而不是直接使用层。是为了与自动布局的使用便利,还是出于更多的性能/内存相关原因?我希望获得最佳性能,因为此代码将在OS X和iOS上运行。
我的选择是哪种方式?自动布局和支持层的NSViews还是自定义CALayer层次结构?

2
CAconstraints在iOS上不可用。这似乎意味着基于层的视图更灵活,但可以提供相同的性能。 - beyowulf
我应该查看CAConstraints的可用性。谢谢! - mangerlahn
1个回答

0

我决定使用层支持视图。目前性能非常好。所有视图都是由stackViews布局的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接