dispose method

  1. @override
Future<void> dispose()
override

Implementation

@override
Future<void> dispose() async {
  try {
    await methodsChannel.invokeMethod<void>('dispose');
  } catch (_) {
    // Dispose is best-effort on the native side — always release Dart
    // resources even if native throws. Do not transition to disposed
    // since native state is unknown.
    await _cancelSubs();
    await _closeControllers();
    rethrow;
  }
  _state = BoatState.disposed;
  await _cancelSubs();
  await _closeControllers();
}