如何释放我的应用程序的缓存容量?

时间:2017-09-14 06:08:36

标签: android webview browser-cache

我正在android studio上开发webview应用程序。

问题是我的应用程序缓存不超过20.0MB 我是从设置> ApplicationManager> MyWebviewApp>缓存检查的。
当缓存超过20.0MB时,旧缓存似乎被删除。

我可以增加缓存容量吗?

2 个答案:

答案 0 :(得分:0)

尝试这样来克服您的问题。 Source

WebView wvSubscribeNow  = (WebView) findViewById(R.id.your_wv);
    if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) {
        //noinspection deprecation
        wvSubscribeNow.getSettings().setAppCacheMaxSize(Long.MAX_VALUE);
    }
    if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
        //noinspection deprecation
        wvSubscribeNow.getSettings().setEnableSmoothTransition(true);
    }
    if (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
        wvSubscribeNow.getSettings().setMediaPlaybackRequiresUserGesture(true);
    }
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        wvSubscribeNow.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
    }
    wvSubscribeNow.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath());
    wvSubscribeNow.getSettings().setAllowFileAccess(true);
    wvSubscribeNow.getSettings().setAppCacheEnabled(true);
    wvSubscribeNow.getSettings().setJavaScriptEnabled(true);
    wvSubscribeNow.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

答案 1 :(得分:0)

试着希望它有效。

WebView view = (WebView) findViewById(R.id.vWeb);
view.getSettings().setAppCacheEnabled(true);
view.getSettings().setAppCacheMaxSize(1024 * 1024 * 10);