9
我有一个webview使用应用程序缓存。我启动了一个连接到网络的应用程序,以加载/缓存页面。现在,在关闭WiFi(和3G - 无网络连接)并启动应用程序后,我会看到“android无法加载页面”页面。奇怪的是,如果我重新加载webview,它会从缓存中加载页面。如果它无法连接到网络,为什么不从缓存中加载此页面?为什么android webview默认不检查缓存?
我使用的是具有cache.manifest的HTML5应用程序缓存。这里是我的WebView代码启用此:
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setAppCacheMaxSize(1024*1024*8);
webview.getSettings().setAppCachePath("/data/data/com.my.package/cache");
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setAppCacheEnabled(true);
我尝试添加在:
weview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
,但它并没有帮助。
当你关闭wifi和/或3G时,你是否正在查杀应用程序的实例,除非你正在主动检查,否则它不知道从缓存加载,因为它已经从网络加载,这就是为什么当你重新加载它的webview加载正确。 –
@JaredBurrows我不明白你的意思,但流程是这样的:1.从网络加载应用程序。 1A。页面被缓存。 2.杀死应用程序。 3.杀死wifi(设备上没有3G)4.加载应用程序。 4A。页面显示“Android无法加载页面”5.刷新webview。 5A。页面从缓存中正确加载 – xdumaine
你如何刷新网页视图? –