Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 周期计时器在initState()中重复_Flutter - Fatal编程技术网

Flutter 周期计时器在initState()中重复

Flutter 周期计时器在initState()中重复,flutter,Flutter,切换到另一页时,周期计时器将在initState()中启动。但它是重复的 或者我正在错误地转换到另一个页面。或者initState()加倍 从一页移动到另一页的代码: Navigator.push( context, new MaterialPageRoute( builder: (context) => new MapPage(phone: _phone))); 计时器调用: @override void initState() { su

切换到另一页时,周期计时器将在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();
      });
    });
  }
您能告诉我错误在哪里以及如何修复它吗?

在导航到其他屏幕之前,使用
onWillPop()
生命周期挂钩停止计时器/删除计时器。否则,您将得到计时器的溢出


dispose()
函数中取消计时器也很好。

你能看到我的代码和对计时器的评论吗?也许我对代码的结构有问题。第一页:第二页启动计时器(_timer和_timerSendPointStart):