NSTimers在后台运行?

fuz*_*oat 13 iphone cocoa-touch objective-c nstimer

我觉得NSTimer在应用程序调用后根本没有工作applicationWillResignActive.然而,我似乎现有的NSTimers(即在应用程序重新激活之前创建的活动)将继续运行,并且它唯一无法在此状态下安排的新NSTimers,任何人都可以确认这一点吗?

我也假设它的好(并且Apple似乎也这么说)当你的应用程序调用时applicationWillResignActive你应该禁用任何NSTimers并在applicationDidBecomeActive调用时再次启动它们,这有意义吗?

ugh*_*fhw 20

当应用程序处于非活动状态但仍在前台时(例如,当用户获得推送通知或按下睡眠按钮时),您的应用程序仍在完全运行.你创建的任何你没有停止的计时器都会正常启动.但是,当您的应用程序转到后台时,如果您未注册运行后台线程,则所有执行都将停止.如果是计时器触发的时间,则不会发生,因为运行循环未运行.但是,当您的应用程序重新打开时,任何应该在后台触发的计时器都将立即被触发.Apple建议进行清理工作,applicationWillResignActive这样当用户不专注于你的应用程序时你就不会做很多工作,但是你肯定想在去往后台之前禁用计时器,这样他们就不会一个接一个地触发.您的申请将重新开放.

  • 我怎样才能在appdelegate类中禁用NStimer,因为我在其他类中使用它? (3认同)