2015-04-02 45 views
2

我開發一種方法,每3秒我顯示一個圖像移動。我使用dispatch_after製作,但在應用程序的每次執行中,顯示圖像的距離或時間不同。更有效地使用帶時間表的NSTimer?dispatch_after或NSTimer?

回答

1

是的,NSTimer是高層次的API,易於實現和控制,就像你想暫停或停止動畫一樣。但是我知道GCD在性能上表現更好。

1

我認爲重複的時間段NSTimer是更明顯的選擇。除了其他任何事情之外,您需要確保每次調用時都會調用一個dispatch_after。

對於dispatch_after鏈,如果一個事件稍微晚一點,那麼可能存在時間稍微漂移的風險,因爲延遲加在NSTimer的哪個位置,應該有一個小得多的延遲到下一個延遲,以便它隨着時間的推移不會發生漂移。