我的应用程序遇到一些性能问题:
加载时间超过 2 秒 -> 所以我立即查看了 Apple 文档
在底部名为“避免过度使用 View ”的部分中,我感到非常困惑:
我确实添加了很多NSViews
(我猜我过度使用了它们)。
”
相反,您应该考虑编写自己的自定义类,这些类可以由更高级别的 NSView 子类管理。然后可以优化 NSView
子类的绘图代码来处理您的自定义对象。
”
我的问题是:
如何编写可以由更高级别的 NSView
子类管理的自己的自定义类 -> 任何示例?
我唯一想到的是CALayer
。
添加 CALayer 子类比添加 NSView 更好吗? 它会增加我糟糕的表现吗?
或者有什么新东西需要学习?
编辑:
目前,我有 NSView
,其中我添加了 15 个 NSView
作为 subview ,我可以添加 15CALayer
来代替:-/
最佳答案
您对您的应用程序进行过概要分析吗?在分解 View 层次结构之前,使用带有时间分析器的工具来找出时间实际花在哪里。
CALayers 比 UIView 更高效,如果不需要,建议避免使用 drawRect,但在进行重写之前,您需要知道您的应用程序实际将时间花在哪里。
关于objective-c - 过度使用 NSView -> 替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30832060/