我有动画和一个计时器。我了解到,计时器是使“第二把刻度”准确地对准第二个刻度的最佳方法。对于动画,我使用了较短的持续时间(100毫秒)的AnimationController和Timer。我想我一定会遗漏一些东西,因为我不完全了解何时应分别使用Timer和AnimationController。它们都导致setState()并因此导致Build(并因此重绘)。我想一个想法是,如果我可以保留所有屏幕,然后在动画中重新绘制一个小的更改。全面披露:我正在努力应对Flutter Clock Challenge !!
Timer
与Flutter无关,就像您可以使用其他任何语言一样,它只是一个计时器。
另一方面,AnimationController
(和Ticker
,其等效于Timer
)是Flutter特定的。
与Timer
的区别在于,通过使用AnimationController
,可以将“ ticker”静音,减慢或模拟。
因此,使用AnimationController
有一些好处: