【问题标题】:iOS: How to measure passed time, independent of clock and time zone changes?iOS:如何测量经过的时间,不受时钟和时区变化的影响?
【发布时间】:2011-04-29 20:09:33
【问题描述】:

为了测量我的应用程序运行时的持续时间,以及我的应用程序在后台空闲时经过的时间,我需要一个不会因用户更改时间+日期而改变的参考时钟他的日历时钟。

我不能依赖 NSDate,因为当我的应用程序在后台时,用户可以更改它(不,拦截与此类时钟更改相关的通知对于我的需要来说是多余的)。

我需要一个函数,例如“自操作系统启动后的秒数”。 Mac OS 提供了这样的功能(TicksMicroseconds),但是 iOS 呢?

【问题讨论】:

    标签: iphone ios nsdate


    【解决方案1】:

    #include <mach/mach_time.h> 到您的源文件中。

    将所有对clock_gettime(CLOCK_MONOTONIC, &timespec_t) 的调用替换为对mach_absolute_time() 的调用。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 呃 - 我自己的测试表明,时间不是很精确:在真正的 60 秒之后,这个函数只告诉我已经过去了 59 秒(120 秒之后是 118 秒,依此类推)。叹。对我目前的任务来说并不重要,但我仍然想知道那里发生了什么以及为什么我们无法在 iOS 上找到精确的时间参考。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 2013-07-04
      • 1970-01-01
      • 2019-12-19
      • 2018-10-16
      相关资源
      最近更新 更多