【问题标题】:NSTimer and Inactive/Sleep stateNSTimer 和非活动/睡眠状态
【发布时间】:2012-06-19 19:36:44
【问题描述】:

我在iPhone: Detecting user inactivity/idle time since last screen touch 中找到了答案,但是当设备进入非活动/睡眠状态时会发生什么?计时器停止触发对吗?

【问题讨论】:

  • 你有没有试过写任何代码来测试这个?
  • 现在,由于这个限制,我正在考虑使用后台监控特定状态,而不是依赖 Timer。

标签: iphone objective-c mobile


【解决方案1】:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nstimer_Class/Reference/NSTimer.html

定时器不是实时机制;它仅在已添加计时器的运行循环模式之一正在运行并且能够检查计时器的触发时间是否已过时触发。由于典型的运行循环管理的各种输入源,计时器的时间间隔的有效分辨率被限制在 50-100 毫秒的数量级。如果计时器的触发时间发生在长时间调用期间或运行循环处于不监视计时器的模式下,则计时器不会触发,直到运行循环下次检查计时器。因此,计时器触发的实际时间可能是计划触发时间之后的很长一段时间。

因此,当您的应用进入非活动状态时 - 计时器将停止触发。当您的应用返回活动状态时 - 计时器将再次触发。

【讨论】:

    猜你喜欢
    • 2013-03-28
    • 2015-03-02
    • 1970-01-01
    • 2023-03-22
    • 2012-12-02
    • 1970-01-01
    • 2012-12-16
    • 2019-11-11
    • 1970-01-01
    相关资源
    最近更新 更多