WebView のパフォーマンスを向上させたい。
現在、私の webview は、*.css や *.jpg など、アプリに必要のないいくつかのリソースをロードしています。
どの拡張子のURLをロードしないようにするにはどうすればよいですか?
APIレベル7を使用しています。
WebView のパフォーマンスを向上させたい。
現在、私の webview は、*.css や *.jpg など、アプリに必要のないいくつかのリソースをロードしています。
どの拡張子のURLをロードしないようにするにはどうすればよいですか?
APIレベル7を使用しています。
ページのテキストだけが必要な場合は、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 参照を除いてページを再作成することもできます。
API 11 の要求に耐えられる場合は、これらの拡張子を持つ URL に対してshouldInterceptRequest
ある種の空を返すように実装できます。WebResourceResponse
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.....