UIApplicationDidBecomeActiveNotification
/ペアを使用UIApplicationWillResignActiveNotification
して、アプリの実行時間を計算します。のコールバックでUIApplicationDidBecomeActiveNotification
は startTime を記録し、 のコールバックではUIApplicationWillResignActiveNotification
endTime を記録します。ほとんどの場合、実行時間は正確です。しかし、サーバーのログにはいくつかの特殊なケースがあり、実行時間がおかしいことがわかりました。たとえば、終了時刻が開始時刻よりも短い、または終了時刻が開始時刻よりも大幅に長いなどです。UIApplicationDidBecomeActiveNotification
そのため、が呼び出されないことがあると思われます。誰かがそのようなケースに遭遇したら、私にいくつかの提案をしてください。
2 に答える
1
UIApplicationDidBecomeActiveNotification
ビュー コントローラでリッスンしている場合はviewDidLoad
、 afterUIApplicationDidBecomeActiveNotification
がポストされるまで呼び出されません。そのため、 で通知を登録するとviewDidLoad
、ビューが読み込まれる前に発生した最初の通知を見逃すことになります。したがって、アプリケーションが起動するたびに、そのような通知を 1 つ見逃すことになります。ただし、バックグラウンドからの復帰などを含め、後続のすべての通知はキャッチされます。
于 2016-02-23T14:27:38.107 に答える
-1
UIApplicationDidBecomeActiveNotification
アプリケーションがバックグラウンドから forgnound に移行するたびに呼び出されます。アプリケーションが非アクティブ状態からアクティブになるたびに呼び出されます。それが時間の変更の理由だと思います。
于 2012-07-31T06:24:50.393 に答える