2012-05-14 11 views
1

以下はWebViewClient用のコードです。ボタンをクリックしてクラスを呼び出しました。初めて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"); 

    } 

} 

Error Image

WebViewClientをロードするために多くの時間を割いて、その。私はそれをスピードアップする必要があります。任意の提案

+0

私はおそらくあなたが遅いウェブサイトに接続していると思っていますか?最初のロードは、ブラウザによってキャッシュされていないため、常に遅くなります。それがあなたのウェブサイトなら、あなたはサイトをスピードアップするためにできることを見なければなりません。 – jamesc

答えて

1

私が見る限り、コードに間違いはありません。私は強くあなたの問題の原因となるので、あなたが接続しているWebサーバーのパフォーマンスをチェックアウトすることをお勧めします。特に、サーバーの応答時間を確認します。ウェブビューのパフォーマンスをテストするには、google.comのような高速応答のウェブサイトにURLを設定してみてください。

1

私はWebViewがあなたのアプリのtempディレクトリ内のあらゆる種類の理由(ウェブキャッシュなど)のデータベースを作成すると思います。 このDBは、アプリケーションからWebViewを初めて呼び出すときに作成されます。それ以降の呼び出しでは、再使用されます。

したがって、この作成プロセスが発生している可能性があります。