gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 17:38:27 24 4
gpt4 key购买 nike

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

加载时间超过 2 秒 -> 所以我立即查看了 Apple 文档

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

在底部名为“避免过度使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com