NSTimer 变得僵尸

发布于 2024-12-09 09:34:26 字数 116 浏览 1 评论 0原文

我在我的应用程序中创建了一个 NSTimer,每隔 1 分钟间隔就会触发一次。我的问题是,当我将应用程序放在后台并经过一段时间(例如 5 分钟)后,我将其置于前台时,计时器对象变得僵尸。

对此有何想法。

I have created a NSTimer in my application which gets fired after every 1 min interval. my problem is when I put the application in background and after some time say 5 min, i bring that in foreground, the timer object gets zombied.

any thoughts on this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦归所梦 2024-12-16 09:34:26

也许当应用程序进入后台时使计时器无效,然后当应用程序进入前台时再次启动计时器。

就像这样:

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

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(TimerFunction) userInfo:nil repeats:YES];
}

Perhaps invalidate the timer when the application enters the background then start it again when the application enters the foreground.

Like so:

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

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    myTimer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(TimerFunction) userInfo:nil repeats:YES];
}
末骤雨初歇 2024-12-16 09:34:26

NSTimer 对象在计划时被保留。您的计时器可能会因某种原因而失效并因此被释放。

NSTimer objects are retained when scheduled. Your timer might be invalidated for some reason and by thus, released.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文