1

WebView のパフォーマンスを向上させたい。
現在、私の webview は、*.css や *.jpg など、アプリに必要のないいくつかのリソースをロードしています。

どの拡張子のURLをロードしないようにするにはどうすればよいですか?

APIレベル7を使用しています。

4

4 に答える 4

1

ページのテキストだけが必要な場合は、html をスクレイピングしてそこから解析できます。

    HttpClient httpClient = new DefaultHttpClient();
    HttpContext localContext = new BasicHttpContext();
    String url = "http://www.google.com";

    BufferedReader reader;
    HttpGet httpGet = new HttpGet(url);
    String result = "";

    try {
        HttpResponse response = httpClient.execute(httpGet, localContext);
        reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

        String line = null;
        result = "";
        while ((line = reader.readLine()) != null){
            result += line + "\n";
        }
    } catch(Exception e){}

    // result now contains the html text

または、これを実行して、.jpg および .css 参照を除いてページを再作成することもできます。

于 2012-05-15T20:50:24.133 に答える
0

API 11 の要求に耐えられる場合は、これらの拡張子を持つ URL に対してshouldInterceptRequestある種の空を返すように実装できます。WebResourceResponse

于 2012-05-15T19:18:17.187 に答える
0
myWebView.setWebViewClient(new MyWebViewClient());
protected class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
   String ext = MimeTypeMap.getFileExtensionFromUrl(url);
   if (ext.eq.....
于 2012-05-15T19:54:10.437 に答える