如何启动我的应用程序的缓存容量?
问题描述:
我正在开发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);
+0
谢谢你的回答。 API级别18已被弃用...是否有其他方法..? – hitonamino
谢谢你的回答。但是,在API级别18中已弃用“setAppCacheMaxSize”方法...? – hitonamino
@hitonamino,看到我编辑的答案。 – Zia
我试过了,但没有奏效......缓存似乎仍然是有限的20.0MB。 – hitonamino