Androidにおけるwebviewのロード速度が他のコントロールの更新問題に影響する
Androidでインタフェースが複雑な場合
私たちは一般的にwebviewを採用して問題を解決して、多くの複雑なレイアウトを書くことを避けます
これはハイブリッドレイアウトとも呼ばれますが、一つの問題はwebviewがシステムのブラウザを利用していることで、主にネットワーク速度が問題です.
ネットのスピードが速い时はまだ良くて、特に明らかではありませんネットが遅い时面倒です
他のコントロールはすべてロードして、webviewはまだロードしていません.
どうすればいいのか、レイアウトに気をつけて、できるだけwebviewの内容を表示して、合理的に手配してください.そうしないと、このレイアウトを放棄します.
他のコントロールの更新をwebview完了イベントに入れます.
私たちは一般的にwebviewを採用して問題を解決して、多くの複雑なレイアウトを書くことを避けます
これはハイブリッドレイアウトとも呼ばれますが、一つの問題はwebviewがシステムのブラウザを利用していることで、主にネットワーク速度が問題です.
ネットのスピードが速い时はまだ良くて、特に明らかではありませんネットが遅い时面倒です
他のコントロールはすべてロードして、webviewはまだロードしていません.
どうすればいいのか、レイアウトに気をつけて、できるだけwebviewの内容を表示して、合理的に手配してください.そうしないと、このレイアウトを放棄します.
他のコントロールの更新をwebview完了イベントに入れます.
@SuppressLint("SetJavaScriptEnabled") private void initWebView() {
// TODO Auto-generated method stub
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(myurl);// webview
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// , ,
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if(webview.getContentHeight() !=0){
// , , ,
new GetWzCommentTask().execute();//
}
}
});
webview.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
// , ,
super.onProgressChanged(view, newProgress);
}
});
}