diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index 479e04cd7..6e44803a7 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -534,6 +534,16 @@ public void onPageFinished(WebView view, String url) { dialog.dismiss(); dialog = null; } + + // Fix for webView window not being destroyed correctly causing memory leak + // (https://github.com/apache/cordova-plugin-inappbrowser/issues/290) + if (url.equals(new String("about:blank"))) { + inAppWebView.onPause(); + inAppWebView.removeAllViews(); + inAppWebView.destroyDrawingCache(); + inAppWebView.destroy(); + inAppWebView = null; + } } }); // NB: From SDK 19: "If you call methods on WebView from any thread