2

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

然而,当用户触摸图像时,用于移动进度条的计时器会暂时停止并再次继续。当想要在同一个视图中同时处理计时器和触摸事件时,我们应该解决什么问题?

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

4

1 回答 1

1

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

在使用 iOS 中最高级别的音频框架 (AVPlayer) 时,它每秒只更新一次音轨中的当前位置。因此,也许每 0.5 秒调用一次计时器是多余的,也许每 1 或 0.9 秒会减少争用。

于 2012-06-02T12:23:38.027 回答