在我正在制作的一个相当简单的应用程序中,我使用了许多NSTimers,一个以.01秒的速度运行,我用它来改变多个图像的位置。这导致严重滞后。我怎样才能解决这个问题?请详细解释,因为我对app dev很新。
答案 0 :(得分:3)
来自NSTimer Docs(重点:我的):
计时器不是实时机制;它只在其中一个发射时发射 已添加计时器的运行循环模式正在运行且能够运行 检查计时器的开火时间是否已经过去。因为各种各样 输入源一个典型的运行循环管理,有效的分辨率 计时器的时间间隔限制为 50-100 毫秒即可。如果在长时间标注期间发生计时器的发射时间或 当运行循环处于不监视计时器的模式时, 在下次运行循环检查计时器之前,计时器不会触发。 因此,计时器可能发射的实际时间可能是 在计划的射击时间之后很长一段时间。
如果您想以显示频率工作,请参阅CADisplayLink
。
但是,你应该首先了解你的程序在哪里花时间来理解它变慢的原因(探查器)。