Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios CALayer与层支持的NSView性能_Ios_Macos_Cocoa_Cocoa Touch_Core Animation - Fatal编程技术网

Ios CALayer与层支持的NSView性能

Ios CALayer与层支持的NSView性能,ios,macos,cocoa,cocoa-touch,core-animation,Ios,Macos,Cocoa,Cocoa Touch,Core Animation,我计划有一个视图,其中可以包含数百个CALayer对象,它们彼此相邻。因此,这必须尽可能有效。这些层不是很复杂。它们是不透明的,可以是文本层或形状层。必须对这一数量的层进行布局。为此,我将使用CAConstraints 从苹果文档: 重要提示:在OS X v10.8及更高版本中,建议您尽量减少层层次结构的使用,而只使用层备份视图。该版本的OS X中引入的层重画策略允许您自定义层备份视图的行为,并且仍然可以获得以前使用独立层时可能获得的性能 我知道CALayer对象比视图更轻量级。我不知道为什么我

我计划有一个视图,其中可以包含数百个
CALayer
对象,它们彼此相邻。因此,这必须尽可能有效。这些层不是很复杂。它们是不透明的,可以是文本层或形状层。必须对这一数量的层进行布局。为此,我将使用
CAConstraints

从苹果文档:

重要提示:在OS X v10.8及更高版本中,建议您尽量减少层层次结构的使用,而只使用层备份视图。该版本的OS X中引入的层重画策略允许您自定义层备份视图的行为,并且仍然可以获得以前使用独立层时可能获得的性能

我知道
CALayer
对象比视图更轻量级。我不知道为什么我们应该使用层备份视图而不是直接使用层。这是为了便于使用自动布局,还是出于性能/内存方面的原因?我希望获得尽可能最好的性能,因为这段代码将同时在OSX和iOS上运行


我该走哪条路?自动布局和层备份的
NSViews
或自定义
CALayer
层次结构?

我决定使用层备份视图。到目前为止,性能非常好。所有视图均按StackView进行布局

iOS上不提供CAConstraints。听起来他们在说层备份视图更灵活,但可以提供相同的性能。我应该寻找CAConstraints的可用性。。非常感谢。