完全停止Android webview

时间:2012-02-26 21:56:03

标签: android android-webview

我有一个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);

每个人都变得更加绝望:)。在我退出应用程序之前,没有任何工作,并且线程继续耗尽处理器。有谁知道我怎么能正确阻止它?

非常感谢任何帮助, 伊恩

1 个答案:

答案 0 :(得分:0)

您是否尝试在销毁WebView之前禁用JavaScript?看起来JavaScript解释器比你的WebView更久,但是如果你告诉它停止执行,那么你将解决你的问题。我会尝试在你的定时方法的顶部使用它:

webView.getSettings().setJavaScriptEnabled(false);