Flutter // 理解dispose

Flutter // Understanding dispose

我做的事情越多,我越经常 运行 处理需要处理的事情(例如定时器和滚动控制器)。两个问题:

  1. 有没有办法see/know需要处理哪些东西?或者这只是您需要记住的一件事?例如:目前我不确定是否需要处理提供程序。
  2. 我需要在无状态小部件中公开某些东西(例如计时器)吗?如果是这样怎么办?还是我只是将小部件变为有状态以便访问 dispose 方法?这看起来很浪费。

谢谢!

  1. 如果需要disposing,一般会在文档中说明。
  2. 这不是要变成有状态的小部件“只是为了获得对 dispose 方法的访问权”。它正在变成一个有状态的小部件,因为它有一个状态。如果它包含一个定时器,它已经意味着有一个状态。将无状态小部件视为纯函数——您可以多次调用它们并且应该没有副作用。计时器是一种副作用,因为您不希望它在每个无状态小部件创建时都是 re-created。此外,将无状态小部件转换为有状态小部件对性能没有显着影响。