在我正在制作的一个相当简单的应用程序中,我使用了许多NSTimers,其中一个以.01秒的速率运行,我用它来改变多个图像的位置。这会导致严重的滞后。我该如何解决这个问题呢?请详细解释,因为我是应用程序开发的新手。
发布于 2012-09-01 21:42:26
来自NSTimer文档(强调:我的):
定时器不是一种实时机制;仅当添加了定时器的运行循环模式之一正在运行并且能够检查定时器的触发时间是否已过时,它才会触发。由于典型运行循环管理的各种输入源,定时器的时间间隔的有效分辨率被限制在50-100毫秒的数量级。如果计时器的触发时间发生在长调用期间或运行循环处于不监视计时器的模式时,则计时器直到运行循环下一次检查计时器时才会触发。因此,计时器可能触发的实际时间可能是计划触发时间之后的一段相当长的时间。
如果要在显示频率下工作,请参阅CADisplayLink
。
但是,您应该首先了解您的程序现在将时间花在哪里,以了解是什么原因导致它变慢(profiler)。
https://stackoverflow.com/questions/12230933
复制