Периодический таймер дублируется в initState()
При переходе на другую страницу запускается периодический таймер в initState(). Но он почему-то дублируется.
Либо я делаю неправильный переход на другую страницу. Либо initState() задваивается.
Код перехода с одной страницы на другую:
Navigator.push(
context,
new MaterialPageRoute(
builder: (context) => new MapPage(phone: _phone)));
Вызов таймера:
@override
void initState() {
super.initState();
_timerSendPointStart = Timer.periodic(Duration(seconds: 10), (timer) {
setState(() {
makePoint();
});
});
}
Подскажите, пожалуйста, где ошибка и как правильно это должно быть реализовано?
Ответы (1 шт):
Автор решения: Vadim Popov
→ Ссылка
Убедитесь, что в методе dispose вы останавливаете таймер.
@override
void dispose() {
super.dispose();
_timerSendPointStart?.cancel();
}