停用和处置之间的区别?

时间:2019-05-31 00:29:35

标签: flutter dart widget stateful

在Flutter中,StatefulWidget具有dispose()deactivate()。它们有什么不同?

2 个答案:

答案 0 :(得分:2)

dispose是确定的。 deactivate不是。

当小部件可能deactivate时,会调用

disposed。但这并不能保证。

答案 1 :(得分:0)

停用:

从树中删除对象时调用。在某些情况下,框架会将状态对象重新插入树的另一部分(例如,如果包含该状态对象的子树从树中的一个位置移植到另一个位置)。 source

处置:

从树中永久移除该对象时调用。 source

通过理解这两个句子,您会看到,从树中删除的小部件将被取消激活(临时或永久),而处置将仅被 调用永久删除的小部件。

现在,我了解了 Antonio Oliveira 的链接。