私はアンドロイドスタジオでwebview appを開発しています。私のアプリのキャッシュ容量を取り込む方法は?
問題は、私のアプリが20.0MB以上をキャッシュしないということです。
設定> ApplicationManager> MyWebviewApp>キャッシュからチェックしました。
キャッシュが20.0MBを超えると、古いキャッシュが削除されたように見えます。
キャッシュ容量を増やすことはできますか?
私はアンドロイドスタジオでwebview appを開発しています。私のアプリのキャッシュ容量を取り込む方法は?
問題は、私のアプリが20.0MB以上をキャッシュしないということです。
設定> ApplicationManager> MyWebviewApp>キャッシュからチェックしました。
キャッシュが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
ありがとうございました。しかし、メソッド 'setAppCacheMaxSize'はAPIレベル18では廃止されました...? – hitonamino
@hitonamino、私の編集した答えを見てください。 – Zia
私はしようとしましたが、うまくいかなかった...キャッシュはまだ20.0MBに制限されているようです。 – hitonamino