求助:如何让iOS的Timer更稳定

6 阅读1分钟

我最近在开发一个 iOS 节拍器 App,用的是 DispatchSourceTimer 来当定时器,间隔很小,大概 50 毫秒左右,然后用 CFAbsoluteTimeGetCurrent 来算时间,保证时间差在 ±0.003 秒内就播放拍子。

但问题是,一进后台节拍就开始不稳定了,明显变慢了,一两秒后又恢复; 回到前台后,又突然变快,还是要一两秒才正常。这种感觉就像突然断电又突然超频了,特别难顶。

我看到商店里有些节拍器 App 也有这种毛病,但有个叫「专业节拍器」的就稳得一批,完全没这问题。它到底做了什么骚操作?有懂的大神吗?感谢!

P.S. 背景音乐权限我已经开了。

那个没问题的专业节拍器:apps.apple.com/cn/app/pro-…