我使用的WebView注入页面上的一些JS代码。这个webview有一个“多米诺骨牌效应”,如:AsyncTask doInBackground方法中的WebView?
webView.setWebViewClient(new WebViewClient{
...
@Override
public void onPageFinished(WebView view, String url) {
if(url.contains("http://A")){
view.loadUrl("javascript: window.location.assign('http://B');")
} else if(url.contains("http://B"){
//do another stuff
}
...
});
大约需要10〜15秒。我目前直接在Activity上做这个,但是我不满意它的性能。此外,如果用户在此过程中最小化应用程序,它将停止工作。
现在我试图doInBackground(),但我不能没有实例化的WebView在非UI线程或拨打使用loadURL()对接收的WebView(从的AsyncTask <>参数)。我能做什么 ?
我应该使用IntentService完成所有这些工作吗?
编辑:我正在注入JS来返回一个ArrayList。我只使用webview来解析网页,并得到我想要的。
谢谢!
视图组件应该仅在UI线程上绘制 –
您是否说您对创建客户端并将其传递给WebView后WebView打开的速度感到不满意? –
不..我没有清楚..我正在注入JS来返回一个ArrayList。我使用webview只解析网页,并得到我想要的^^ –