2017-09-14 26 views
0

我正在開發android studio的webview應用程序。如何啓動我的應用程序的緩存容量?

問題是我的應用程序不緩存超過20.0MB。
我從設置> ApplicationManager> MyWebviewApp> Cache
當緩存達到20.0MB以上時,舊緩存似乎被刪除。

我可以增加緩存容量嗎?

回答

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); 
+0

謝謝你的回答。但是,在API級別18中已棄用「setAppCacheMaxSize」方法...? – hitonamino

+0

@hitonamino,看到我編輯的答案。 – Zia

+0

我試過了,但沒有奏效......緩存似乎仍然是有限的20.0MB。 – hitonamino

0

試試這個希望它工作。

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

謝謝你的回答。 API級別18已被棄用...是否有其他方法..? – hitonamino

相關問題