Flutter 定时器不消除颤振

Flutter 定时器不消除颤振,flutter,dart,Flutter,Dart,我需要一个计时器实例在我的应用程序上运行,这样我就可以在需要时取消并重新初始化它。但是,在调用.cancel()操作后,计时器不会取消。它只有在我从默认构造函数调用它时才起作用,但是我想要一个全局计时器,我可以随时取消它 Timer timer; timer = Timer.periodic(Duration(seconds: 10), (Timer t) async { //cancelling timer only works here e.g (t.cancel)

我需要一个计时器实例在我的应用程序上运行,这样我就可以在需要时取消并重新初始化它。但是,在调用
.cancel()
操作后,计时器不会取消。它只有在我从默认构造函数调用它时才起作用,但是我想要一个全局计时器,我可以随时取消它

Timer timer;

  timer = Timer.periodic(Duration(seconds: 10), (Timer t) async {
         //cancelling timer only works here e.g (t.cancel)
  print("loop operation");
        });

timer.cancel(); // calling this method outside the constructor don't work.

到目前为止,当人们声称
Timer
取消不起作用时,我所看到的最常见的错误是他们意外地创建了多个
Timer
对象,并破坏了以前的引用。请发布一个可复制的示例,并验证您没有泄漏
计时器
s.@jamesdlin这是我的案例兄弟。现在修好了。谢谢
Timer timer;

Timer.periodic(Duration(seconds: 10), (Timer t) async {
            timer = t;
            print("loop operation");
        });


//inside a button callback
timer??.cancel(); // perform null check as well before cancelling.