dispose method

  1. @override
void dispose({
  1. bool isKeepAlive = false,
})

Disposes the controller.

Implementation

@override
void dispose({bool isKeepAlive = false}) {
  disposeChannel(removeMethodCallHandler: !isKeepAlive);
  _inAppBrowser = null;
  webStorage.dispose();
  if (!isKeepAlive) {
    _controllerFromPlatform = null;
    _javaScriptHandlersMap.clear();
    _userScripts.clear();
    _webMessageListenerObjNames.clear();
    _injectedScriptsFromURL.clear();
    for (final webMessageChannel in _webMessageChannels) {
      webMessageChannel.dispose();
    }
    _webMessageChannels.clear();
    for (final webMessageListener in _webMessageListeners) {
      webMessageListener.dispose();
    }
    _webMessageListeners.clear();
  }
}