我使用UIApplicationDidBecomeActiveNotification
/ UIApplicationWillResignActiveNotification
pair 来计算应用程序运行时间。在回调中UIApplicationDidBecomeActiveNotification
,我记录开始时间,在回调中UIApplicationWillResignActiveNotification
,我记录结束时间。在大多数情况下,我发现运行时间是正确的。但是服务器日志中有一些特殊情况,我发现运行时间很奇怪。比如结束时间小于开始时间,或者结束时间远大于开始时间。所以我怀疑UIApplicationDidBecomeActiveNotification
有时不会调用。如果有人遇到这种情况,请给我一些建议。
问问题
970 次
2 回答
1
如果您UIApplicationDidBecomeActiveNotification
在视图控制器中侦听,则在发布viewDidLoad
之后才会调用then UIApplicationDidBecomeActiveNotification
。因此,如果您在 中注册通知viewDidLoad
,您将错过第一个通知,该通知发生在视图加载之前。所以每次你的应用程序启动时,你都会错过一个这样的通知。但是,所有后续通知都会被捕获,包括从后台返回等。
于 2016-02-23T14:27:38.107 回答
-1
UIApplicationDidBecomeActiveNotification
每次您的应用程序从后台进入 forgnound 时都会被调用。意味着每次您的应用程序从非活动状态变为活动状态时。我认为这是更改时间的原因。
于 2012-07-31T06:24:50.393 回答