Flutter-在重新分配控制器之前,是否需要对其进行处置?

k5hmc34c  于 2023-01-14  发布在  Flutter
关注(0)|答案(1)|浏览(143)

假设我有一个延迟的TextEditingController,它最初是在某个地方构造的

@override
void initState() {
    super.initState();
    controller = TextEditingController();
}
....
// then somewhere else I reconstruct it
// controller.dispose() // is this needed before the reassignment?
controller = TextEditingController();

谢谢!

k7fdbhmy

k7fdbhmy1#

否在初始化之前不需要释放。但是是的,当不再需要TextEditingController时,您需要释放它,这是好****实践。因此,您可以在dispose方法中释放所有TextEditingControllers。

void dispose() {
    
    controller.dispose(); //textFiledName
    super.dispose();
  }

dispose方法在有状态小部件中创建的对象从小部件树中永久删除时触发,因此Dispose释放分配的内存。
更多详情请点击此官方链接
TextField
dispose

相关问题