unload method
Implementation
Future<void> unload() async {
assert(!_view._disposed, 'Kraken have already disposed');
// Should clear previous page cached ui commands
clearUICommand(_view.contextId);
// Wait for next microtask to make sure C++ native Elements are GC collected.
Completer completer = Completer();
Future.microtask(() {
_module.dispose();
_view.dispose();
allocateNewPage(_view.contextId);
_view = KrakenViewController(view.viewportWidth, view.viewportHeight,
background: _view.background,
enableDebug: _view.enableDebug,
contextId: _view.contextId,
rootController: this,
navigationDelegate: _view.navigationDelegate,
gestureListener: _view.gestureListener,
widgetDelegate: _view.widgetDelegate,
originalViewport: _view.viewport
);
_module = KrakenModuleController(this, _view.contextId);
completer.complete();
});
return completer.future;
}