【发布时间】:2013-02-19 02:13:08
【问题描述】:
我在这篇帖子的评论中注意到 Overhead of NSNotifications,用户 JustSid 说
如果应用程序在每个运行循环周期中不发送 30+ 个,则开销不会很明显
我想编写一个小助手类来跟踪在当前运行循环周期中发送了多少 NSNotifications,并在它超过某个预先配置的数字时提醒我。我知道我可以注册所有通知(将 nil 传递给名称和对象),但我如何跟踪它们是从哪个运行循环周期发送的?
【问题讨论】:
-
恕我直言,这种方法似乎值得怀疑。我没有看到任何证据表明使用 NSNotificationCenter 比直接在对象之间发送消息有更高的开销。任何性能问题都将特定于通知的处理(与发送相比)。如果您有大量对象观察通知和/或执行线程阻塞任务,这显然会对应用程序性能产生影响。那是我会集中时间和精力的地方。 @JustSid 的评论是武断和推测性的。
标签: ios objective-c cocoa-touch nsnotificationcenter nsnotifications