2011-06-26 112 views
0

我自己實現了一個ImageCache模塊,它可以自動下載html中的圖像。如何與WebView共享圖像緩存

但我不知道如何與WebView的ImageCache共享,如果圖片已被webview緩存,則不會再次下載。

我實現了一個ContentProvider,如果圖像已被緩存,從緩存讀取,否則從互聯網下載。但圖像通常出現在一起,很長一段時間的網頁視圖顯示空白

回答

0

試着這麼做webview.loadDataWithBaseURL("file:///android_asset/",data, "text/html", "utf8","");

您可能會發現這個網站有幫助的:Graphing Data

0

你有沒有考慮建立自己的ContentProvider訪問緩存?它聽起來並不像聽起來那麼可怕,您只需要擴展ContentProvider並將其掛載到清單文件中即可。

Here是一篇描述它的博客文章 - 我在一個大量使用WebViews的應用程序中實現它:Source on Github

這種ContentProvider的可加載的WebView中的所有本地文件 - 你將不得不適應這種想法要麼:在WebView中顯示它

  • 下載到SD卡或內部存儲的所有文件之前,並簡單地通過loadUrl()加載本地HTML文件,或者僅在本地存儲緩存圖像,並用它們的緩存位置替換它們在WebView的HTML代碼中的所有出現的原始圖像位置(使用上述的擴展名內容提供商)。您可以通過loadUrl()將JavaScript注入WebView來操作HTML源代碼,在視圖中使用一些優良的正則表達式或一致的CSS類,這應該是可行的。
+0

謝謝,但我遇到了新的問題: – yava

+0

我實現了一個ContentProvider,如果圖像已被緩存,從緩存讀取,否則從互聯網下載。但Webview有時會長時間顯示空白,並且圖像通常會一起出現。 – yava

+0

你可以在pastebin.com或https://gist.github.com/上發佈代碼嗎? – manmal