如果我在 initState() 中初始化一个观察者,例如
textController.addListener(textTypedListener);
Run Code Online (Sandbox Code Playgroud)
在处理文本控制器之前,我是否需要手动删除侦听器?或者 dispose 会自动处理这个问题。
例如。选项 1
@override
void dispose() {
textController.removeListener(textTypedListener);
textController.dispose();
super.dispose();
}
Run Code Online (Sandbox Code Playgroud)
选项 2
@override
void dispose() {
textController.dispose();
super.dispose();
}
Run Code Online (Sandbox Code Playgroud)
哪个最好?
非常感谢。
根据Handle changes to a text field的 flutter 文档中给出的Interactive Example,有人评论说调用 dispose 也会删除 listener。
所以第二种选择是最好的。
| 归档时间: |
|
| 查看次数: |
1344 次 |
| 最近记录: |