アプリケーションで NSTimer を作成しました。これは 1 分間隔ごとに起動されます。私の問題は、アプリケーションをバックグラウンドに置いて、5分後にそれをフォアグラウンドにすると、タイマーオブジェクトがゾンビ化することです。
これについての考え。
NSTimer
オブジェクトはスケジュール時に保持されます。何らかの理由でタイマーが無効になり、解放された可能性があります。
おそらく、アプリケーションがバックグラウンドに入ったときにタイマーを無効にし、アプリケーションがフォアグラウンドに入ったときにタイマーを再度開始します。
そのようです:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[myTimer invalidate];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(TimerFunction) userInfo:nil repeats:YES];
}