0

我使用UIApplicationDidBecomeActiveNotification/ UIApplicationWillResignActiveNotificationpair 来计算应用程序运行时间。在回调中UIApplicationDidBecomeActiveNotification,我记录开始时间,在回调中UIApplicationWillResignActiveNotification,我记录结束时间。在大多数情况下,我发现运行时间是正确的。但是服务器日志中有一些特殊情况,我发现运行时间很奇怪。比如结束时间小于开始时间,或者结束时间远大于开始时间。所以我怀疑UIApplicationDidBecomeActiveNotification有时不会调用。如果有人遇到这种情况,请给我一些建议。

4

2 回答 2

1

如果您UIApplicationDidBecomeActiveNotification在视图控制器中侦听,则在发布viewDidLoad之后才会调用then UIApplicationDidBecomeActiveNotification。因此,如果您在 中注册通知viewDidLoad,您将错过第一个通知,该通知发生在视图加载之前。所以每次你的应用程序启动时,你都会错过一个这样的通知。但是,所有后续通知都会被捕获,包括从后台返回等。

于 2016-02-23T14:27:38.107 回答
-1

UIApplicationDidBecomeActiveNotification每次您的应用程序从后台进入 forgnound 时都会被调用。意味着每次您的应用程序从非活动状态变为活动状态时。我认为这是更改时间的原因。

于 2012-07-31T06:24:50.393 回答