Whether this entry must be included in the tree even if there is a fully opaque entry above it.
By default, if there is an entirely opaque entry over this one, then this
one will not be included in the widget tree (in particular, stateful widgets
within the overlay entry will not be instantiated). To ensure that your
overlay entry is still built even if it is not visible, set maintainState
to true. This is more expensive, so should be done with care. In particular,
if widgets in an overlay entry with maintainState set to true repeatedly
call setState
, the user's battery will be drained unnecessarily.
This is used by the Navigator and Route objects to ensure that routes are kept around even when in the background, so that Futures promised from subsequent routes will be handled properly when they complete.
Source
bool get maintainState => _maintainState;
Source
set maintainState (bool value) { assert(_maintainState != null); if (_maintainState == value) return; _maintainState = value; assert(_overlay != null); _overlay._didChangeEntryOpacity(); }