gpt4 book ai didi

ios - 监视NSNotifications

转载 作者:行者123 更新时间:2023-12-01 16:51:39 27 4
gpt4 key购买 nike

我在对Overhead of NSNotifications这个帖子的评论中注意到,用户JustSid说

如果应用程序在每个运行循环周期内未发送30+,则开销不会很明显

我想编写一个小的帮助程序类,以跟踪在当前运行循环周期中已发送了多少NSNotification,并在其超出某个可预配置的数目时提醒我。我知道我可以注册所有通知(将nil传递给名称和对象),但是如何跟踪它们从哪个运行循环发送?

最佳答案

在NSNotificationCenter上创建一个类别可以很容易,该类别在添加通知观察者时会递增一些内部整数(因此在删除通知时会递减),但是您必须问自己:多少钱太多了?

如果您认为它是任意整数(例如,假设为30),那么在具有更多内存和处理器约束的设备上进行测试时会发生什么?如果您在可以轻松处理30位观察者和通知的设备上进行测试,那会发生什么情况?尽管可以编写通用规则,但不可能评估每种情况下通知对应用程序响应时间的影响。

另一种可能是,当大量的观察者将某些系统功能带入爬网时,让后台进程查询通知堆栈(或以某种方式像上面那样内部对其进行衡量)。当然,如果不考虑这是太多工作的事实,那么您将设计一个子系统,该子系统可能首先使用要对其进行补救的方法,因此会占用尽可能多的内存,并从性能中窃取了很多东西!

TL; DR您可以使用许多其他模式和结构来代替通知,那么为什么您要满足NSNotification的需求呢?

关于ios - 监视NSNotifications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210898/

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