0

我正在使用 performSelector:withObject:afterDelay: 安排一个选择器,延迟五分钟。如果设备在计划期间进入睡眠状态超过五分钟,则会发生以下两种情况之一:

1)如果设备已连接到我的笔记本电脑,并且应用程序正在调试器中运行,那么当应用程序重新唤醒时,选择器会立即触发。延迟似乎是“时钟一直在运行”。

2) 如果设备没有连接,那么在选择器触发之前会有一个延迟。延迟选择器似乎“时钟暂停”。

根据设备是否连接到调试器,会有两种不同的行为似乎很奇怪。有任何想法吗?

4

2 回答 2

0

我注意到调试器似乎在后台强制应用程序处于活动状态。

通常,如果您在真实设备上进行调试并按下主页按钮,即使 10 分钟后也不会发生任何特殊情况。

另一方面,如果您在设备上强制终止您的应用程序,您最终会收到一个 SIGKILL 信号,该信号将终止您的调试会话。

于 2013-01-04T16:38:34.830 回答
0

应用程序在后台暂停。您通常应该将计时器等保存applicationDidEnterBackgroundapplicationDidBecomeActive.

于 2013-01-04T16:44:00.353 回答