在我的Android应用程序中,我设置了
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
为webview启用缓存。问题是,当Web内容发生变化(我不知道)时,它仍然使用旧的缓存内容。 如何在不使用缓存的情况下更改在线Web内容时如何使其自动重新缓存内容?
任何建议都将不胜感激。
答案 0 :(得分:3)
我相信你无法确定网页内容是否有所改变。
但是,当你启用webview缓存时,它会自动为webview缓存提供一个到期日,这意味着,如果webView缓存过期,它将再次加载网页。如果您使用WebSetting.LOAD_DEFAULT
如果您觉得html页面的内容可能会更频繁地更改,那么您应该不使用WebSetting.LOAD_CACHE_ELSE_NETWORK
,因为根据doc:
public static final int LOAD_CACHE_ELSE_NETWORK
Use cached resources when they are available, even if they have expired. Otherwise load resources from the network.
这将加载html页面的缓存版本,即使它已过期。
答案 1 :(得分:2)
有办法检查服务器上的内容是否已更改。 试试FCM。在每个内容提交上发送通知给每个应用程序。 然后在消息接收方法中清除您的webview缓存。 这样,只要服务器上的内容发生变化,用户就会看到更新的内容。 我正在使用这种方法并为我工作。