我目前正在开发一个测试应用程序,用于测试网站列表的速度。该应用程序应该一个一个地自动访问所有这些网站,我使用的方法是:
mainWebview.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView view, String url){
super.onPageFinished(view, url);
endtime = Calendar.getInstance().getTimeInMillis();
Toast.makeText(ctx, "The Time:" + ((endtime - starttime)/1000) +"."+ (((endtime - starttime)/100)%10), Toast.LENGTH_SHORT).show();
resultList.add(url + " : "+ ((endtime - starttime)/1000) +"."+ (((endtime - starttime)/100)%10));
timer.cancel();
if (index < testWebsiteList.length - 1){
Log.i("TEST" , "//INDEX: " + index);
index ++;
mainWebview.loadUrl(testWebsiteList[index]);
}
mainWebview.clearCache(true);
}
但是,问题是一旦 webview 开始加载第一个 web,它会给出这样的 logcat 输出:
//INDEX: 0
//INDEX: 1
//INDEX: 2
//INDEX: 3
//INDEX: 4
//INDEX: 5
//INDEX: 6
//INDEX: 7 ...
并且只有最后一个 web 被正确加载,0-last 内的所有 web 都不会显示,但会触发 onPageFinsihed 方法。
我怎样才能解决问题,使我可以在最后一个完成之前一个一个访问网站。