Mic*_*ono 13 widget stateful dart flutter
在 Flutter 中,StatefulWidget 具有dispose()和deactivate()。它们有何不同?
dispose()
deactivate()
Rém*_*let 19
dispose是确定的。deactivate不是。
dispose
deactivate
deactivate当小部件可能被释放时调用。但这并不能保证。
deactivate调用但不调用的典型情况是dispose使用GlobalKey.
GlobalKey
Ben*_*rth 5
停用:
当对象从树中删除时调用。在某些情况下,框架会将 State 对象重新插入到树的另一部分(例如,如果包含此 State 对象的子树从树中的一个位置嫁接到另一个位置)。来源
处置:
当该对象从树中永久删除时调用。来源
通过理解这两个句子,您将看到,对于从树中暂时或永久删除的小部件,将调用 deactivate ,而仅对于永久删除的小部件,才会调用dispose 。
感谢安东尼奥·奥利维拉提供的链接,现在我明白了。
归档时间:
6 年,5 月 前
查看次数:
2892 次
最近记录:
4 年,8 月 前