Что-то не так, если оставить таймер включенным и использовать флаг для контроля выполнения вкл / выкл? - PullRequest
0 голосов
/ 22 июля 2011

Я опрашиваю роутер с айфона.Таймер срабатывает только каждые 60 секунд.Я запускаю таймер в ViewDidLoad и оставляю его включенным.

Там есть флаг pollingON, изначально устанавливающий FALSE.

Когда срабатывает таймер, он вызывает myTimerFiredMethod, который затем проверяет,

if (self.pollingON) {
  self.pollingON = FALSE ;
  // run the polling code
  self.pollingON = TRUE ;
}

Помимо того, что вы тратите наносекунду или два процессорного времени, что-нибудь не так с этой практикой?

1 Ответ

2 голосов
/ 22 июля 2011

Таймер, который работает, хотя и не используется, является пустой тратой времени работы от батареи. Это также странный шаблон проектирования, запускающий таймер без причины.

Также, если вы включите опрос, в худшем случае вам придется ждать почти 60 секунд до обновления.

Я бы не рекомендовал реализовывать это таким образом. Вместо этого отключите таймер, когда опрос отключен, и создайте новый таймер, когда опрос включен.

...