我在Xcode4工作,在一个项目中,我一直在使用三种不同的NSTimers用于组织目的,但我意识到定时器是相同的,除了名称,因此很容易将所有三个定时器合并到一起一。哪个更适合我的项目编码,三个单独的计时器划分代码,或者只包含其中所有代码的计时器?
谢谢!
答案 0 :(得分:2)
如果多个计时器彼此发射不同步,可能会产生很大的能量影响。现代CPU试图尽可能多地睡眠,并允许它们一次周期性地睡眠几毫秒,这可以大大延长电池寿命。如果你的计时器靠得很近,但不是同时发生,那么系统就有更少的睡眠机会。我推荐WWDC 2013会议704(构建高效OS X应用程序)和会话712(能源最佳实践),详细讨论了这一点以及如何改进代码。 Apple最近花了很多精力改进定时器的管理方式,并鼓励开发人员更好地将定时器分批。
这不是为您的代码增加显着复杂性的原因,@ HotLicks和@GerdK是正确的,代码简单性通常胜过其他问题,但成本不应忽略,尤其是在现代CPU和高频定时器上。
请注意,有一些新的NSTimer选项可以帮助您获得批量计时器的好处,而无需在最新的操作系统中实际重构代码。有关详细信息,请参阅上述视频(仍在NDA下,因此我无法在此处详细介绍。)
答案 1 :(得分:0)
无论哪种方法都可以让您的代码更容易理解。