Flutter 如何获得通过颤振的总时间-使用定时器颤振

Flutter 如何获得通过颤振的总时间-使用定时器颤振,flutter,flutter-layout,flutter-animation,flutter-timer,Flutter,Flutter Layout,Flutter Animation,Flutter Timer,我有一个计时器,它有一个小的动画,是一个圆圈围绕它。从另一个路由调用计时器开始(ExamTimer(大小:40.0),)。当我导航到另一条路线时,会出现以下错误: ════════ Exception caught by widgets library ═══════════════════════════════════════════════════════ The following assertion was thrown while finalizing the widget tree

我有一个计时器,它有一个小的动画,是一个圆圈围绕它。从另一个路由调用计时器开始(
ExamTimer(大小:40.0),
)。当我导航到另一条路线时,会出现以下错误:

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown while finalizing the widget tree:
ExamTimerState#c1b45(tickers: tracking 1 ticker) was disposed with an active Ticker.

ExamTimerState created a Ticker via its TickerProviderStateMixin, but at the time dispose() was called on the mixin, that Ticker was still active. All Tickers must be disposed before calling super.dispose().

Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak.

The offending ticker was: _WidgetTicker(created by ExamTimerState#c1b45(lifecycle state: created, tickers: tracking 0 tickers))
The stack trace when the _WidgetTicker was actually created was:
#0      new Ticker.<anonymous closure> (package:flutter/src/scheduler/ticker.dart:66:40)
#1      new Ticker (package:flutter/src/scheduler/ticker.dart:68:6)
#2      new _WidgetTicker (package:flutter/src/widgets/ticker_provider.dart:237:80)
#3      TickerProviderStateMixin.createTicker (package:flutter/src/widgets/ticker_provider.dart:168:34)
#4      new AnimationController (package:flutter/src/animation/animation_controller.dart:245:21)
#5      ExamTimerState.initState (package:azmoonasli/models/ExamTimer.dart:27:18)
#6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4355:58)
#7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#9      MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5551:32)
#10     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#11     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#12     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#13     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#14     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#15     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#18     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#19     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#20     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#21     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#22     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#24     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#25     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#26     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#27     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#28     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#29     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#30     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#31     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#32     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#33     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#34     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#36     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#37     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#38     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#40     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#41     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#42     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5551:32)
#43     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#44     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#45     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#46     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#47     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#48     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#49     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#50     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5551:32)
#51     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#52     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#53     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#54     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#55     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#56     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#57     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#58     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#59     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#60     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#61     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#62     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#63     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#64     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#65     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#66     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#67     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#68     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#69     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#70     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#71     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#72     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#73     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#74     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#75     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#76     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#77     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#78     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#79     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#80     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#81     ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4617:11)
#82     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#83     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5551:32)
#84     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#85     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#86     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#87     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#88     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#89     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#90     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#91     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#92     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#93     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#94     Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#95     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#96     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#97     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#98     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#99     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#100    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#101    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#102    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#103    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#104    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#105    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#106    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#108    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#109    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#110    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#111    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#112    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#113    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#114    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#115    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#116    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#117    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#118    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#119    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#120    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#121    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#122    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#123    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#124    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#125    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#126    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#127    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#128    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#129    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#130    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#131    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#132    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#133    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#134    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#135    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#136    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#137    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#138    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#139    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#140    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#141    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#142    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#143    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#144    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#145    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#146    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#147    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#148    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#149    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#150    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#151    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#152    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#153    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#154    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#155    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#156    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#157    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#158    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#159    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#160    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#161    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#162    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#163    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#164    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#165    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#166    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#167    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#168    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#169    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#170    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#171    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#172    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#173    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#174    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#175    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#176    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#177    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#178    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#179    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#180    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#181    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#182    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#183    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#184    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#185    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#186    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#187    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#188    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#189    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#190    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#191    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#192    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#193    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#194    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#195    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#196    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#197    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#198    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#199    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#200    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#201    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#202    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#203    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
#204    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#205    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#206    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#207    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#208    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#209    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#210    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#211    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#212    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#213    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#217    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#224    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#225    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#226    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#227    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#228    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#229    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#230    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#231    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#232    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#233    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#234    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#235    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#236    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#237    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
#238    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
#239    ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
#240    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
#241    Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
#242    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5219:32)
#243    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5561:17)
#244    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#245    _TheatreElement.update (package:flutter/src/widgets/overlay.dart:605:16)
#246    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#247    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#249    StatefulElement.update (package:flutter/src/widgets/framework.dart:4413:5)
#250    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#251    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#252    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#253    ProxyElement.update (package:flutter/src/widgets/framework.dart:4557:5)
#254    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:94:11)
#255    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#256    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14)
#257    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#258    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#259    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#260    StatefulElement.update (package:flutter/src/widgets/framework.dart:4413:5)
#261    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#262    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14)
#263    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#264    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5452:14)
#265    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#266    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#267    Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
#268    StatelessElement.update (package:flutter/src/widgets/framework.dart:4298:5)
#269    Element.updateChild (package:flutter/src/widgets/framework.dart:2977:15)
#270    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
#272    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2432:33)
#273    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:773:20)
#274    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:283:5)
#275    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102:15)
#276    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1041:9)
#277    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:957:5)
#281    _invoke (dart:ui/hooks.dart:259:10)
#282    _drawFrame (dart:ui/hooks.dart:217:3)
(elided 3 frames from package dart:async)

When the exception was thrown, this was the stack: 
#0      TickerProviderStateMixin.dispose.<anonymous closure> (package:flutter/src/widgets/ticker_provider.dart:185:13)
#1      TickerProviderStateMixin.dispose (package:flutter/src/widgets/ticker_provider.dart:203:6)
#2      StatefulElement.unmount (package:flutter/src/widgets/framework.dart:4435:12)
#3      _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1748:13)
#4      _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1746:7)
...
════════════════════════════════════════════════════════════════════════════════════════════════════
════════ widgets库捕获到异常═══════════════════════════════════════════════════════
完成小部件树时引发了以下断言:
ExamTimerState#c1b45(股票代码:跟踪1股票代码)与活动股票代码一起处理。
ExamTimerState通过其TickerProviderStateMixin创建了一个Ticker,但在mixin上调用dispose()时,该Ticker仍处于活动状态。在调用super.dispose()之前,必须先处理所有标记。
应通过调用AnimationController本身上的dispose()来处理AnimationController使用的标记。否则,自动售票机将泄漏。
有问题的代码是:_Widgeticker(由ExamTimerState创建#c1b45(生命周期状态:已创建,代码:跟踪0个代码))
实际创建_widgeticker时的堆栈跟踪为:
#0新的股票代码。(软件包:颤振/src/scheduler/ticker.dart:66:40)
#1个新的自动售票机(软件包:颤振/src/scheduler/Ticker.dart:68:6)
#2个新的widgeticker(包:flatter/src/widgets/ticker\u provider.dart:237:80)
#3 TickerProviderStateMixin.createTicker(包:flatter/src/widgets/ticker\u provider.dart:168:34)
#4个新的AnimationController(包:颤振/src/animation/animation_控制器。dart:245:21)
#5 ExamTimerState.initState(包:azmoonasli/models/ExamTimer.dart:27:18)
#6 StatefulElement.\u firstBuild(包:flatter/src/widgets/framework.dart:4355:58)
#7 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4201:5)
#8 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#9 MultiChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5551:32)
#10 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#11 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#12 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4243:16)
#13.Element.rebuild(包:flatter/src/widgets/framework.dart:3947:5)
#14 ComponentElement._firstBuild(包:flatter/src/widgets/framework.dart:4206:5)
#15 StatefulElement.\u firstBuild(包:flatter/src/widgets/framework.dart:4381:11)
#16 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4201:5)
#17 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#18 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#19 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4243:16)
#20 Element.rebuild(包:flatter/src/widgets/framework.dart:3947:5)
#21 ComponentElement._firstBuild(包:flatter/src/widgets/framework.dart:4206:5)
#22 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4201:5)
#23 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#24 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#25 SingleChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5445:14)
#26 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#27 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#28 SingleChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5445:14)
#29 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#30 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#31 SingleChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5445:14)
#32 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#33 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#34 SingleChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5445:14)
#35 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#36 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#37 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4243:16)
#38 Element.rebuild(包:flatter/src/widgets/framework.dart:3947:5)
#39 ComponentElement._firstBuild(包:flatter/src/widgets/framework.dart:4206:5)
#40 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4201:5)
#41 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#42 MultiChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5551:32)
#43 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#44 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#45 SingleChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5445:14)
#46 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#47 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#48 SingleChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5445:14)
#49 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#50 MultiChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5551:32)
#51 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#52 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
#53 SingleChildRenderObjectElement.mount(包:flatter/src/widgets/framework.dart:5445:14)
#54 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
#55.updateChi元素
    import 'package:flutter/material.dart';
    import 'dart:math' as math;

    class ExamTimer extends StatefulWidget {
      final double size;
      ExamTimer({@required this.size, });



      @override
      ExamTimerState createState() => ExamTimerState();
    }

    class ExamTimerState extends State<ExamTimer> with TickerProviderStateMixin {
      AnimationController controller;


      String get timerString {
        Duration duration = controller.duration * controller.value;
        return '${duration.inMinutes}:${(duration.inSeconds % 60).toString().padLeft(2, '0')}';
      }

      @override
      void initState() {
        super.initState();
        controller = AnimationController(
          vsync: this,
          duration: Duration(minutes: 20),
        );
      }

      @override
      Widget build(BuildContext context) {
        ThemeData themeData = Theme.of(context);

        controller.reverse(from: controller.value == 0.0 ? 1.0 : controller.value);

        return Stack(
          alignment: Alignment.center,
          children: <Widget>[ AnimatedBuilder(
                animation: controller,
                builder: (BuildContext context, Widget child) {
                  return CustomPaint(
                    size: Size(widget.size, widget.size),
                      painter: TimerPainter(
                    animation: controller,
                    backgroundColor: Colors.white,
                    color: themeData.indicatorColor,
                  ));
                },
              ),



            AnimatedBuilder(
                      animation: controller,
                      builder: (BuildContext context, Widget child) {
                        return Text(
                          timerString,
                          style: TextStyle(fontSize: 12.0),
                        );
                      }),
          ],
        );
      }
    }

    class TimerPainter extends CustomPainter {
      TimerPainter({
        this.animation,
        this.backgroundColor,
        this.color,
      }) : super(repaint: animation);

      final Animation<double> animation;
      final Color backgroundColor, color;

      @override
      void paint(Canvas canvas, Size size) {
        Paint paint = Paint()
          ..color = backgroundColor
          ..strokeWidth = 5.0
          ..strokeCap = StrokeCap.round
          ..style = PaintingStyle.stroke;

        canvas.drawCircle(size.center(Offset.zero), size.width / 2.0, paint);
        paint.color = color;
        double progress = (1.0 - animation.value) * 2 * math.pi;
        canvas.drawArc(Offset.zero & size, math.pi * 1.5, progress, false, paint);
      }

      @override
      bool shouldRepaint(TimerPainter old) {
        return animation.value != old.animation.value ||
            color != old.color ||
            backgroundColor != old.backgroundColor;
      }
    }
controller?.dispose();
    yourTimer.cancel();
//start a stopwatch
final watch = StopWatch()..start();
//Eleapsed time
watch.eleapsed //returns a Duration
//Stop it
watch.stop()
//You can also reset when you return to your page
watch.reset();
    //Start 
    final timer = Timer.periodic(Duration(seconds:1), (Timer ticker){
    if(ticker.tick == 2){//Wait for  1*2 seconds
    //Navigate here
    }
    //Total eleapsed time 
    timer.tick*yourDurationUnit // used when creating this timer
    )