【发布时间】:2016-06-07 13:57:03
【问题描述】:
我正在为 OS X 快速制作一个时钟应用程序。我的时钟应用程序中有一个计时器,它的工作方式有点像 iOS 中的那个。我的问题是,每当我将应用程序置于后台或将其最小化时,应用程序在后台运行一分钟左右后就会冻结或停止计数。当我将它带到前台时,它会从停止的地方开始工作。无论如何我可以让我的应用程序在后台运行吗?我已经看过了,但没有找到任何有效的方法。
感谢任何可以提供帮助的人。
【问题讨论】:
我正在为 OS X 快速制作一个时钟应用程序。我的时钟应用程序中有一个计时器,它的工作方式有点像 iOS 中的那个。我的问题是,每当我将应用程序置于后台或将其最小化时,应用程序在后台运行一分钟左右后就会冻结或停止计数。当我将它带到前台时,它会从停止的地方开始工作。无论如何我可以让我的应用程序在后台运行吗?我已经看过了,但没有找到任何有效的方法。
感谢任何可以提供帮助的人。
【问题讨论】:
您是否依靠计时器来“计算”秒数?您应该只使用计时器来触发显示更新。当计时器触发时,您应该检查实际时间并根据该时间计算应该显示的内容,而不是您的计时器触发了多少次。绝不应该让您的应用“从停止的地方开始工作”(如果这样的话,您的意思是它显示的时间与它在后台运行时的时间相同,并从那里重新开始计数)。
可能发生的情况是您的应用程序被放入App Nap。另请参阅Energy Efficiency Guide for Mac Apps。
【讨论】: