颤振处理textedtitingcontroller的大数目



我没有texttedingcontroller a, texttedingcontroller b.......z

1)如何快速处理所有textditingcontroller

@override
void dispose() {
// _nameCtrl.dispose();
a.dispose();
b.dispose();
.....
....
z.dispose();
super.dispose();
}
  1. 如果不处理texteditingcontrol变量,会导致问题吗?

谢谢翼

尽量简化和缩短代码

据我所知:

dispose表示您正在清理controller时,小部件是从小部件树中删除。所以当树被重建时,例如:你是调用setState将重建小部件树,并且因为您已经dispose所有的控制器,他们不会消耗任何内存因为它们不存在于部件树中。

根据网上一篇很棒的文章:

如果您创建对象并且没有释放它们之前使用的内存销毁它们,你的申请才有可能通过应用商店或游戏商店的内存泄漏。这是出口有状态小部件的点。处理方法的执行在结束时,状态对象已经建立了足够的时间和现在没有必要重新构建。

这意味着它是一个很好的做法,总是处置所有的控制器,因为它们可能会导致以后的问题。

至于你的快捷方式为什么不使用for循环迭代一个列表,其中包含你在Stateful小部件中使用的所有控制器名称:

List tec = [a,b,c,d...z];
for(var element in tec) {
element.dispose();
}

相关内容

  • 没有找到相关文章

最新更新