Я разрабатываю метод, в котором каждые 3 секунды я показываю изображение в движении. Я делаю с помощью dispatch_after, но при каждом запуске приложения расстояние или время показа изображения разные. Более эффективно использовать NSTimer с расписанием?
dispatch_after или NSTimer?
Ответы (2)
Да, NSTimer — это высокоуровневый API, который легко реализовать и контролировать, например, если вы хотите приостановить или остановить анимацию, вы можете это сделать. Но GCD лучше по производительности, насколько я знаю.
person
Retro
schedule
02.04.2015
Я думаю, что для повторяющегося периода времени NSTimer является более очевидным выбором. Помимо всего прочего, вам нужно убедиться, что каждый раз, когда вас вызывают, вызывается один и ровно один dispatch_after.
С цепочкой dispatch_after может быть риск того, что будет небольшой сдвиг во времени, поскольку задержки складываются, где с NSTimer, если одно событие немного запаздывает, должна быть немного более короткая задержка для следующего, чтобы оно не пострадало дрейф со временем.
person
Joseph Lord
schedule
20.04.2016