DecisionIsolateMain class
Enterprise-grade isolate manager with auto-dispose, idle timeout, active task tracking, and full lifecycle control.
Features:
- Singleton + lazy initialization
- Auto dispose on app pause/detach/idle
- Thread-safe with
synchronizedpackage - Active task counter prevents premature disposal
- Comprehensive debug status with
getStatus() - Safe reset & force dispose options
- Per-task timeout control
- Crash-resistant with
errorsAreFatal: false
Example:
final isolate = DecisionMainIsolate();
// Run task (auto-init if needed)
final result = await isolate.runTask(
DecisionAlgorithm.saw,
SawProcessingCommand.generateMatrix,
{'data': myData},
timeout: Duration(seconds: 10),
);
// Check status
print(isolate.getStatus());
// Force cleanup
isolate.dispose(force: true);
- Mixed-in types
Constructors
- DecisionIsolateMain()
-
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
didChangeAccessibilityFeatures(
) → void -
Called when the system changes the set of currently active accessibility
features.
inherited
-
didChangeAppLifecycleState(
AppLifecycleState state) → void -
Called when the system puts the app in the background or returns
the app to the foreground.
override
-
didChangeLocales(
List< Locale> ? locales) → void -
Called when the system tells the app that the user's locale has
changed. For example, if the user changes the system language
settings.
inherited
-
didChangeMetrics(
) → void -
Called when the application's dimensions change. For example,
when a phone is rotated.
inherited
-
didChangePlatformBrightness(
) → void -
Called when the platform brightness changes.
inherited
-
didChangeTextScaleFactor(
) → void -
Called when the platform's text scale factor changes.
inherited
-
didChangeViewFocus(
ViewFocusEvent event) → void -
Called whenever the PlatformDispatcher receives a notification that the
focus state on a view has changed.
inherited
-
didHaveMemoryPressure(
) → void -
Called when the system is running low on memory.
inherited
-
didPopRoute(
) → Future< bool> -
Called when the system tells the app to pop the current route, such as
after a system back button press or back gesture.
inherited
-
didPushRoute(
String route) → Future< bool> -
Called when the host tells the application to push a new route onto the
navigator.
inherited
-
didPushRouteInformation(
RouteInformation routeInformation) → Future< bool> -
Called when the host tells the application to push a new
RouteInformation and a restoration state onto the router.
inherited
-
didRequestAppExit(
) → Future< AppExitResponse> -
Called when a request is received from the system to exit the application.
inherited
-
dispose(
{bool force = false}) → void - Dispose the isolate and free resources.
-
getStatus(
) → Map< String, dynamic> - Get comprehensive status information for debugging and monitoring.
-
handleCancelBackGesture(
) → void -
Called when a predictive back gesture is canceled, indicating that no
navigation should occur.
inherited
-
handleCommitBackGesture(
) → void -
Called when a predictive back gesture is finished successfully, indicating
that the current route should be popped.
inherited
-
handleStartBackGesture(
PredictiveBackEvent backEvent) → bool -
Called at the start of a predictive back gesture.
inherited
-
handleUpdateBackGestureProgress(
PredictiveBackEvent backEvent) → void -
Called when a predictive back gesture moves.
inherited
-
init(
) → Future< void> - Initialize the isolate if not already running. Thread-safe and lazy. Safe to call multiple times.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reset(
) → Future< void> - Reset and reinitialize the isolate.
-
runTask(
DecisionAlgorithm algorithm, dynamic command, Map< String, dynamic> data, {Duration timeout = const Duration(seconds: 30)}) → Future - Run a decision-making task in the isolate.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited