はじめてお世話になります NickQと申します。
現在、WebViewの先読み機能の実装について困っています。
①スプラッシュ表示時などで事前にDefaultHttpClientを用いて
対象のURLへアクセスしHTMLを取得します。
取得したHTMLをキャッシュ専用のクラス(Map)にkey(url),html(string)としてputして置きます。
②その後、WebViewでアクセスした時にキャッシュに有るURLならloadDataWithBaseURL
へキャッシュしたhtmlをセットしています。
①の処理はWebViewを表示する前に終わっている前提ですが
この時、最初のWebViewでのloadDataWithBaseURL表示にかなりの時間がかかります。
(3Gで普通にアクセスすると5~8秒のところ15~20秒近くかかります)
ただし、二回目(アプリケーション上にキャッシュが出来た後)はキャッシュの読み込みはかなり早くなります。
(上記の様な遅い状態では無くなります)
レンダリング関係だと思い、トレースを取ってみましたが経験不足で上手く利用出来ていません
トレースですが
android/os/Handler.dispatchMessage(Landroid/os/Message;)v
android/view/ViewRoot.handleMessage(Landroid/os/Message;)v
android/view/ViewRoot.performTraversals()v
android/view/ViewRoot.draw(Z)V
という処理がほぼ95%位を占めています。
何か回避策などを随時調べていますが、経験のある方などアドバイス頂けると助かります。
よろしくお願い致します。