createIsolateIfNeeded static method

Future<IsolateInterpreter?> createIsolateIfNeeded(
  1. Interpreter interpreter,
  2. Delegate? delegate, {
  3. bool useIsolateInterpreter = true,
})

Creates an IsolateInterpreter if conditions allow isolate-based inference.

Returns null if useIsolateInterpreter is false, interpreter creation successfully applied a delegate, or the platform is macOS (where isolate sharing is unstable).

Implementation

static Future<IsolateInterpreter?> createIsolateIfNeeded(
  Interpreter interpreter,
  Delegate? delegate, {
  bool useIsolateInterpreter = true,
}) async {
  if (!useIsolateInterpreter) return null;
  if (interpreter.hasActiveDelegate) return null;
  // Sharing a native interpreter across isolates is unstable on macOS.
  if (Platform.isMacOS) return null;
  return IsolateInterpreter.create(address: interpreter.address);
}