1

アプリケーションで NSTimer を作成しました。これは 1 分間隔ごとに起動されます。私の問題は、アプリケーションをバックグラウンドに置いて、5分後にそれをフォアグラウンドにすると、タイマーオブジェクトがゾンビ化することです。

これについての考え。

4

2 に答える 2

0

NSTimerオブジェクトはスケジュール時に保持されます。何らかの理由でタイマーが無効になり、解放された可能性があります。

于 2011-10-12T07:22:28.797 に答える
0

おそらく、アプリケーションがバックグラウンドに入ったときにタイマーを無効にし、アプリケーションがフォアグラウンドに入ったときにタイマーを再度開始します。

そのようです:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [myTimer invalidate];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(TimerFunction) userInfo:nil repeats:YES];
}
于 2011-10-12T07:19:00.190 に答える