dispose method

  1. @override
void dispose()
override

销毁响应式变量,如果 Obs 为局部状态(在 State 中创建),请在符合以下条件销毁它们:

  • Obs 依赖各种监听,建议手动销毁,但如果你能确保调用 removeListener 移除添加的副作用,则可忽略;
  • Obs 设置了 keepAliveTimer 计时器,这种情况必须销毁;

除了上面的约束外,通常情况下不需要在 State 中手动销毁 Obs 变量, 因为 ObsBuilderListenableBuilder 等小部件会自动移除监听。

Implementation

@override
void dispose() {
  super.dispose();
  obsBuilders.clear();
  _closeKeepAliveTimer();
}