当应用程序进入后台并返回时,我的NSRunLoop和计时器会发生什么?

时间:2012-06-22 20:25:31

标签: iphone objective-c ios nstimer nsrunloop

我的应用中有NSRunLoop连接到计时器:

NSTimer *updateTimer = [NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(onUpdateTimer) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:updateTimer forMode:NSRunLoopCommonModes];

当应用程序进入后台时,此runloop会发生什么?它是否会消失,这意味着我应该在applicationDidBecomeActive:中重新创建它?

1 个答案:

答案 0 :(得分:8)

您的应用暂停时应停止计时器,并在-applicationDidBecomeActive:重启。请参阅Responding to Interruptions中的“发生中断时应采取的措施”。但是,您不必担心运行循环 - 操作系统将负责该部分。