2011-10-02 10 views
5

私はHTML5キャッシュマニフェストについて読んだことがあります。アンドロイドはキャッシュマニフェストを使用してウェブサイトをキャッシュすることをサポートしています。キャッシュマニフェストを使用して、自分のWebサイトに必要なすべてのリソースをダウンロードしてプリロードし、WebViewを開き、プリキャッシュされたリソースを使用してリモートWebサイトを表示します。リモートページを何らかの形でプリキャッシュしたい、できればキャッシングプロセス用のWebViewを使用しないでください。Android WebViewで閲覧できるようにWebページをプリキャッシュする方法はありますか?

プリキャッシング処理にWebViewを使用する際の問題は、WebViewを使用してWebページを読み込むと、ページをダウンロードするだけでレンダリングして実行することです。

私はhttp://alex.tapmania.org/2010/11/html5-cache-android-webview.htmlを読んだことがありますが、WebViewのサポートキャッシュを使用しているのは、私が望むものではありません。 WebViewがロードされてすべてキャッシュされるのを待つのではなく、リソースを事前にキャッシュした直後に、読み込みプロセスを瞬間的にする(リモートWebサイトのキャッシュマニフェスト/ etagsがキャッシュされたバージョンと同じであると仮定して)最初のアクセス。

Webページをプレキャッシュして後で表示する正しい方法は何ですか?

ありがとうございます!

答えて

8

あなたがしたいことは、データベースAPIを使用するHTML5アプリケーション用のアプリケーションキャッシュ、リンクされたリソース、Cookie、ローカルデータベースストアのためのメカニズムを実装する必要があります。これは最近のブラウザの重要な部分です。 WebViewのメソッドと外部キャッシュを受け入れる友達(WebViewClientなど)を思い出すことができないため、自分でキャッシュすることをおすすめしません。

問題は非常に単純な解決策です。WebViewを表示し、visibilitygoneに設定することができます。次に、ページのロードが完了したら表示させます。 WebViewは自動的にアプリケーションのキャッシュを保持しておき、次回の実行時にページをより迅速に読み込むことができます。

WebViewを隠して自動的に表示するにはonPageFinishedWebViewClientに上書きするだけです。

+0

これは完全に動作します – VictorPurMar

関連する問題