Таймеры очень низкие накладные расходы. Я не думаю, что вы увидите какой-либо эффект вообще. Если частоты порядка нескольких секунд, вы можете сделать то же, что и я, для приложения, которое заботилось о нескольких разных временных интервалах: один NSTimer запускается каждую секунду, а затем проверяет и уведомляет по модулю всех, кто заботится о каждой частоте.
- (void)secondsTimerFired:(NSTimer *)timer {
NSDate *now = [NSDate date];
NSInteger nowInterval = (NSInteger)[now timeIntervalSinceReferenceDate];
[[NSNotificationCenter defaultCenter] postNotificationName:@"SecondsTimerFired" object:self];
if (nowInterval % 5 == 0) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"Second_5_TimerFired" object:self];
}
if (nowInterval % 12 == 0) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"Second_12_TimerFired" object:self];
}
}
Еще одним преимуществом было то, что у меня было одно место и один таймер для аннулирования и перезапуска активных / неактивных событий приложения.