dispose method Null safety

  1. @override
void dispose()
override

Releases this controller's resources. Some of this has to be done async but listeners will receive no more notifications after this method has been called.

Implementation

@override
void dispose() {
  _wasDisposed = true;
  unawaited(
    _lock.synchronized(() async {
      await _trackUpdateSubscription?.cancel();
      await _renderer?.let((renderer) async => (await PlatformBridge.instance).disposeTextureRenderer(renderer));
      super.dispose();
    }),
  );
}