完全停止android网络视图

完全停止android网络视图,android,android-webview,Android,Android Webview,我有一个android webview,允许用户在window.onload回调中使用自己的javascript(它是完全隔离的,我个人不认为有安全风险)。如果输入以下内容,则会出现问题 while(true){ } 在java方面,我启动一个计时器,大约5秒钟后,如果JavaScript仍在运行,我尝试停止webview。我尝试过各种方法: webView.stopLoading(); webView.loadData("", "text/html", null); webView.free

我有一个android webview,允许用户在window.onload回调中使用自己的javascript(它是完全隔离的,我个人不认为有安全风险)。如果输入以下内容,则会出现问题

while(true){
}
在java方面,我启动一个计时器,大约5秒钟后,如果JavaScript仍在运行,我尝试停止webview。我尝试过各种方法:

webView.stopLoading();
webView.loadData("", "text/html", null);
webView.freeMemory();
webView.pauseTimers();
webView.destroy();
Class.forName("android.webkit.WebView").getMethod("onPause", (Class[]) null).invoke(webView, (Object[]) null);
每个人都变得更加绝望:)。在我退出应用程序之前,一切都不起作用,线程会继续使用处理器。有人知道我怎样才能正确地阻止它吗

非常感谢您的帮助,
Ian

在销毁WebView之前,您是否尝试过禁用JavaScript?JavaScript解释器似乎比您的WebView更长寿,但如果您告诉它停止执行,那么您将解决您的问题。我会尝试在计时方法的顶部使用此选项:

webView.getSettings().setJavaScriptEnabled(false);

我并没有真正回答我自己的问题,所以我不会发布答案,但我最终采用的解决方案是使用一个独立的javascript引擎。这些通常比用网络视图进行黑客攻击更灵活。为什么不回答你自己的问题呢?我在这里看了一整天,发现了一些关于这个问题的帖子,但是没有人提供任何答案。抱歉,我的意思是我的解决方案没有回答原来的问题,所以我把它作为一个评论发布。