【问题标题】:CALayer vs. Layer-backed NSView PerformanceCALayer 与 Layer-backed NSView 性能对比
【发布时间】:2016-06-14 13:49:44
【问题描述】:

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

来自苹果文档:

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

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

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

【问题讨论】:

  • CAConstraints 在 iOS 上不可用。听起来他们在说支持层的视图更灵活,但可以为您提供相同的性能。
  • 我应该寻找 CAConstraints 的可用性。谢谢!

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


【解决方案1】:

我决定使用图层支持的视图。到目前为止,性能非常好。视图全部由 stackViews 布局。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多