Android 在WebView中加载新url之前,请断开已加载的网页(使用socket.io)

Android 在WebView中加载新url之前,请断开已加载的网页(使用socket.io),android,webview,socket.io,android-webview,socket.io-1.0,Android,Webview,Socket.io,Android Webview,Socket.io 1.0,WebView加载使用socket.io的网页 WebView myWebView = (WebView) findViewById(R.id.webView); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); myWebView.setWebViewClient(new WebViewClient()); myWebView.loadUrl(socket_io_

WebView加载使用socket.io的网页

WebView myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl(socket_io_page_url);
会话使用cookie进行维护。当android注销操作项被激活时,必须清除cookies并加载一个新的url,如以下代码所示

WebView myWebView = (WebView)findViewById(R.id.webView);
CookieManager.getInstance().removeAllCookie();
myWebView.loadUrl(new_url);
这可以工作,但与上一个urlsocket\u io\u页面\u url的连接不会立即终止。由于WebView不支持web套接字,因此WebView使用长轮询,并等待约20秒以断开上一个url。超时可以更改,但这将是一个非常高带宽成本的操作

此时,不可能切换到本机java编码。因此,断开以前的连接对应用程序非常重要。我试过了

myWebView.destroy()

他们都没有工作。使用更干净的应用程序终止应用程序会立即断开套接字。是否有办法断开先前加载的页面。

在什么Android版本上会发生这种情况?Android版本4.2.2
System.gc()** after new url load,
webSettings.setJavaScriptEnabled(false); and setting back
webSettings.setJavaScriptEnabled(true);