Android Webview - 如何判断页面是否从缓存中加载?

时间:2013-04-11 16:10:00

标签: android android-webview

我正在使用网页浏览,我更喜欢缓存getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

但我需要知道是否第一次加载网页,或者是否来自缓存。

除了自己手动缓存页面外,我看不到这样做的方法。有没有人知道询问缓存的方法,webview必须在幕后这样做!

1 个答案:

答案 0 :(得分:0)

首先,您必须为webView设置WebViewClient / WebChromeClient。您可能希望分别查看WebViewClient / WebChromeClient类。他们下面列出了一堆API,我已经列出了一些你可能感兴趣的API :(摘自Android开发者网站)

/ ******** WebChromeClient CLASS ****** /

public void getVisitedHistory(ValueCallback callback)

获取所有访问过的历史记录项的列表,用于链接着色

/ ********* WebStorage CLASS **** /

public void getOrigins(ValueCallback callback)

获取当前使用Application Cache或Web SQL Database API的原点。此方法异步操作,结果通过ValueCallback提供。原点作为Map类型的映射提供,从源的字符串表示形式到WebStorage.Origin对象。

如果这些似乎没有做到这一点,那么您可以依赖直接查询应用程序的缓存目录(/ eclipse IDE中DDMS选项卡下的/ data / data / my_app_package / cache),以编程方式您将能够访问缓存目录使用getCacheDir()API。有关详细信息,请参阅How do I view Android application specific cache?

相关问题