我正在開發android studio的webview應用程序。如何啓動我的應用程序的緩存容量?
問題是我的應用程序不緩存超過20.0MB。
我從設置> ApplicationManager> MyWebviewApp> Cache。
當緩存達到20.0MB以上時,舊緩存似乎被刪除。
我可以增加緩存容量嗎?
我正在開發android studio的webview應用程序。如何啓動我的應用程序的緩存容量?
問題是我的應用程序不緩存超過20.0MB。
我從設置> ApplicationManager> MyWebviewApp> Cache。
當緩存達到20.0MB以上時,舊緩存似乎被刪除。
我可以增加緩存容量嗎?
試着這樣來克服你的問題。 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);
試試這個希望它工作。
WebView view = (WebView) findViewById(R.id.vWeb);
view.getSettings().setAppCacheEnabled(true);
view.getSettings().setAppCacheMaxSize(1024 * 1024 * 10);
謝謝你的回答。 API級別18已被棄用...是否有其他方法..? – hitonamino
謝謝你的回答。但是,在API級別18中已棄用「setAppCacheMaxSize」方法...? – hitonamino
@hitonamino,看到我編輯的答案。 – Zia
我試過了,但沒有奏效......緩存似乎仍然是有限的20.0MB。 – hitonamino