我使用的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只解析網頁,並得到我想要的^^ –