设置缓存大小不起作用

时间:2014-04-10 02:00:48

标签: javascript android caching webview

我有一个带有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,

1 个答案:

答案 0 :(得分:0)

浏览器缓存内容存储在/ data分区下。所以,也许你需要确保/ data下有500M的空白空间。我记得有关最大应用缓存大小的具体限制。