我使用的是网络视图,我更喜欢缓存getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
但我需要知道网页是否是第一次加载的,或者它是否来自缓存。
除了自己手动缓存页面之外,我看不到其他方法可以做到这一点。有人知道查询缓存的方法吗,webview一定是在幕后做的!
首先,您必须为您的webView设置WebViewClient/WebChromeClient。您可能需要分别查看WebViewClient/WebChromeClient类。下面列出了一堆API,我列出了其中一些你可能感兴趣的:(摘录自Android开发者网站(
/********WebChromeClient类******/
public void getVisitedHistory(ValueCallback回调(
获取所有访问历史项目的列表,用于链接着色
/*********Web存储类别***/
public void getOrigins(ValueCallback回调(
获取当前使用应用程序缓存或Web SQL数据库API的源。此方法异步操作,结果通过ValueCallback提供。原点以map类型的映射形式提供,从原点的字符串表示形式到WebStorage。原点对象。
如果这些都不起作用,那么您可以直接查询应用程序的缓存目录(eclipse IDE中DDMS选项卡下的/data/data/my_app_package/cache(,通过编程,您将能够使用getCacheDir((API访问缓存目录。请参阅如何查看Android应用程序特定的缓存?了解确切的细节。