NSTimer其实就是CFRunloopTimerRef,他们之间是toll-free bridged的。一个NSTimer注册到Runloop后,runloop会为其重复的时间点注册好事件。runloop为什么节省资源,并不会在非常准确的时间点这个Timer。Timer有个属性叫做宽容度,表示了当时间点后,容许有多少最大的误差。如果,某一个时间点被错过了。例如之行了一个很长的任务,则那个时间点的回调也会跳过去,不会延后执行。
RunLoop 之 NStimer
最新推荐文章于 2020-05-26 09:39:34 发布