我正在开发一个移动游戏,使用NSTimer作为计时器。一切都很顺利,但当我将应用程序最小化(按Home键)或者当它被打断,比如接电话时,NSTimer会在后台继续运行,即使应用程序没有被使用。
当应用程序被最小化/中断时,我需要使这个计时器失效,并在应用程序恢复时创建一个新的计时器。哪些方法可以处理应用程序最小化和恢复呢?
当应用程序被最小化/中断时,我需要使这个计时器失效,并在应用程序恢复时创建一个新的计时器。哪些方法可以处理应用程序最小化和恢复呢?
- (void)applicationDidEnterBackground:(UIApplication *)application {
[timer invalidate];
timer = nil;
}
applicationWillEnterForeground
方法中创建一个新的定时器。
applicationWillResignActive
和applicationDidBecomeActive
。可能你还需要用到applicationDidEnterBackground
。这些都是UIApplicationDelegate
的委托方法。 - Avi