- override
Called when this object is removed from the tree permanently.
The framework calls this method when this State
object will never
build again. After the framework calls dispose
, the State
object is
considered unmounted and the mounted
property is false. It is an error
to call setState
at this point. This stage of the lifecycle is terminal:
there is no way to remount a State
object that has been disposed.
Subclasses should override this method to release any resources retained by this object (e.g., stop any active animations).
If a State
's build
method depends on an object that can itself change
state, for example a ChangeNotifier
or Stream
, or some other object to
which one can subscribe to receive notifications, then the State
should
subscribe to that object during initState
, unsubscribe from the old
object and subscribe to the new object when it changes in
didUpdateConfig
, and then unsubscribe from the object in dispose
.
If you override this, make sure to end your method with a call to super.dispose().
See also deactivate
, which is called prior to dispose
.
Source
@override void dispose() { _sizeController.dispose(); _scaleController.dispose(); super.dispose(); }