以下是我的WebViewClient代码。我通过单击按钮调用了该类。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setTitle("Loading...");
activity.setProgress(progress * 100);
if (progress == 100)
activity.setTitle(R.string.app_name);
}
});
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// Handle the error
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.loadUrl("http://mylink.com");
// String customHtml =
// "<html><body><h1>Hello, WebView</h1></body></html>";
// webView.loadData(customHtml, "text/html", "UTF-8");
}
}
它需要更多时间来加载WebViewClient。我需要加快速度。任何建议
答案 0 :(得分:1)
就我所见,您的代码没有任何问题。我强烈建议您查看您要连接的Web服务器的性能,因为这很可能是您遇到问题的原因。特别关注服务器响应时间。要测试网络视图的效果,请尝试将网址设置为快速响应的网站,例如google.com。
答案 1 :(得分:1)
我认为WebView会在应用的临时目录中创建一个数据库,原因有各种各样(例如网络缓存)。 第一次从应用程序调用WebView时会创建此DB。在后续调用中,它会被重复使用。
因此,您可能正在经历此创建过程。