我有一个带有webview的应用程序,可以加载包含大量javascript的HTML文件,以便与Google地图一起使用。我想尽可能多地使用webview的缓存(对于地图)离线(除了一种情况,见下文),所以我在包含webview的Activity中添加了这个:
myWebView = (WebView) findViewById(R.id.webviewmap);
ws = myWebView.getSettings();
ws.setUserAgentString(ws.getUserAgentString() + " AveWebview");
ws.setJavaScriptEnabled(true);
ws.setAppCacheMaxSize( 500 * 1024 * 1024 ); // 500MB // DEPRECATED IN API 18
ws.setAllowFileAccess(true);
ws.setAppCacheEnabled(true);
ws.setDatabaseEnabled(true);
ws.setDomStorageEnabled(true);
ws.setCacheMode((online) ? WebSettings.LOAD_CACHE_ELSE_NETWORK : WebSettings.LOAD_CACHE_ONLY);
它有效,我看到地图离线,但缓存低于40MB而不是500MB,删除了东西。我知道在API 18中不推荐使用缓存条件,但我低于API 18 ....我做错了什么以及如何提高缓存大小?
我打赌这是重复的......但是找不到满意的答案。
谢谢!
L,
答案 0 :(得分:0)
浏览器缓存内容存储在/ data分区下。所以,也许你需要确保/ data下有500M的空白空间。我记得有关最大应用缓存大小的具体限制。