草庐IT

timeCount

全部标签

swift - 如何防止短背景计时器漂移?

我有一个90年代计时器,它在后台运行,通过注册beginBackgroundTaskWithExpirationHandler完成。这看起来很简单,但我遇到的问题是计时器本身漂移很大。对于90秒计时器,我得到大约30-35秒的漂移。即,如果我启动计时器,让应用进入后台,然后在90秒后打开应用,计时器会显示剩余30秒。如果我让应用程序在整个90年代都处于打开状态,我将获得零漂移。如果我将计时器的时间间隔降低到1秒(而不是我首选的0.05秒),那么背景漂移就会消失。如何在不降低计时器精度的情况下消除背景漂移?classTimerViewController:UIViewController