过度使用 NSView -> 替代方案?

Overuse of NSView -> Alternatives?

我的应用程序遇到了一些性能问题:

加载时间超过 2 秒 -> 所以我马上去看了 Apple 文档

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaPerformance/Articles/CustomViews.html#//apple_ref/doc/uid/TP40001443-CJBJIFGC

在底部名为 "Avoid the Overuse of Views" 的部分中,我感到非常困惑:

我确实添加了很多 NSViews(我猜我过度使用了它们)。

” 相反,您应该考虑编写自己的自定义 类,它可以由更高级别的 NSView 子类管理。然后可以优化 NSView 子类的绘图代码以处理您的自定义对象。 “

我的问题是:

我如何编写自己的自定义 类 可以由更高级别的 NSView 子类管理 -> 任何示例?

我唯一想到的是 CALayer

添加 CALayer sub类 是否比添加 NSView 更好? 它会增加我糟糕的表现吗?

或者有什么新东西要学?

编辑:

目前我有 NSViews,我在其中添加 15 NSView 作为它们的子视图,我可以添加 15CALayers :-/

您对您的应用进行了概要分析吗?在拆分视图层次结构之前,使用带有时间分析器的工具来找出时间实际花在了哪里。

CALayers 比 UIViews 更高效,如果不需要,建议避免使用 drawRect,但在诉诸重写之前,您需要知道您的 App 实际将时间花在哪里。