iPhone:NSTimer在执行触摸操作时会暂时停止?

时间:2012-06-02 11:24:19

标签: iphone image event-handling progress-bar

我正在开发一个iOS应用程序,我每0.5秒重复触发NSTimer,并根据该计时器移动歌曲进度条。当用户触摸一些图像时,我处理触摸事件,我保持在同一视图中。

然而,当用户触摸图像时,用于移动进度条的计时器暂时停止并再次继续。当想要在同一视图中同时处理计时器和触摸事件时,是否有任何问题需要解决?

触摸图像时是否有暂时停止的原因?

1 个答案:

答案 0 :(得分:1)

听起来应用程序的主线程上发生了太多事情。定时器方法调用在主运行循环中传递,触摸事件也是如此。确保您的触摸事件处理程序和计时器处理程序都没有在主线程上进行任何严格的计算或IO工作。

在iOS(AVPlayer)中使用最高级别的音频框架时,它只会每秒更新音频轨道中的当前位置。因此,可能每0.5秒进行一次定时器调用是过度的,可能每1或0.9秒会稍微减少争用。