2017-09-14 3 views
0

Je développe l'application webview sur studio android.Comment réduire la capacité de cache de mon application?

Le problème est que mon application ne met pas en cache plus de 20,0 Mo.
Je l'ai vérifié à partir de Paramètres> ApplicationManager> MyWebviewApp> Cache.
Lorsque le cache atteint plus de 20,0 Mo, l'ancien cache semble être supprimé. Puis-je augmenter la capacité de la mémoire cache?

Répondre

0

Essayez ceci pour résoudre votre problème. 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

Nous vous remercions de votre réponse. Mais la méthode 'setAppCacheMaxSize' était obsolète dans l'API Niveau 18 ...? – hitonamino

+0

@hitonamino, Voir ma critique éditée. – Zia

+0

J'ai essayé mais cela n'a pas fonctionné ... le cache semble toujours être limité 20.0MB. – hitonamino

0

Essayez-le pour que cela fonctionne.

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

Merci pour votre réponse. Il a été déprécié dans l'API Niveau 18 ... Existe-t-il une méthode alternative? – hitonamino