dispose method
销毁响应式变量,如果 Obs 为局部状态(在 State 中创建),请在符合以下条件销毁它们:
- Obs 依赖各种监听,建议手动销毁,但如果你能确保调用 removeListener 移除添加的副作用,则可忽略;
- Obs 设置了
keepAliveTimer计时器,这种情况必须销毁;
除了上面的约束外,通常情况下不需要在 State 中手动销毁 Obs 变量, 因为 ObsBuilder、ListenableBuilder 等小部件会自动移除监听。
Implementation
@override
void dispose() {
super.dispose();
obsBuilders.clear();
_closeKeepAliveTimer();
}