小编Sef*_*aUn的帖子

周期性定时器无法处置

代码内容并不重要。只有一个问题:当我想离开此页面时,计时器无法处理。当我离开此页面时,sendMessage("message");功能继续运行。有什么选项可以处理这个计时器吗?

Timer timer;

@override
void initState() {
super.initState();
timer = Timer.periodic(new Duration(seconds: 5), (timer) async {
          setState(() {
            unicode++;
            unicodeString = unicode.toString();
            if (unicodeString.length < 6) {
              int different = 6 - unicodeString.length;
              for (var i = 0; i < different; i++) {
                unicodeString = "0" + unicodeString;
              }
            }
            sendMessage("meesage");
              showSnackBarWithKey("Message Sended !");
          });
    });
}
 @override
 void dispose() {
 timer.cancel();
 super.dispose();
}
Run Code Online (Sandbox Code Playgroud)

错误如下。

小部件库捕获异常在完成小部件树时抛出以下断言:'package:flutter/src/widgets/framework.dart': 失败的断言: line 4182 pos 12: '_debugLifecycleState != _ElementLifecycle.defunct': is not true 。该断言要么表明框架本身存在错误,要么我们应该在此错误消息中提供更多信息,以帮助您确定并修复根本原因。无论哪种情况,请通过在 …

dart flutter

5
推荐指数
1
解决办法
4203
查看次数

标签 统计

dart ×1

flutter ×1