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



我使用的是网络视图,我更喜欢缓存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应用程序特定的缓存?了解确切的细节。

最新更新