마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰 캐시,쿠키 완전삭제하는 방법

0 추천

안녕하세요

현재

WebSettings settings = mElvWebView.getSettings();
settings.setAppCacheEnabled(false);
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
settings.setJavaScriptEnabled(true);

mElvWebView.clearCache(true);
mElvWebView.clearHistory();
 
CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();
cookieSyncManager.sync();
 
public int clearCacheFolder(File dir) {
    int deletedFiles = 0;
    if (dir != null && dir.isDirectory()) {
        try {
            for (File child : dir.listFiles()) {

                if (child.isDirectory()) {
                    deletedFiles += clearCacheFolder(child);
                }

                if (child.delete()) {
                    deletedFiles ++;
                }
            }
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }
    return deletedFiles;
}

 

이런식으로 웹뷰에서 캐시를 전혀 쓰지 않기 위해 설정을 했습니다.

그런데 웹뷰가 호출되는 시간을 재 보면,

 

첫번째 호출시에는 1~2초가 걸리던것이 2,3번 반복적으로 호출해서 호출 완료까지 걸리는 시간을 재 보면

1번째가 시간이 가장 길고 이후는 비슷합니다. (ex 1회 2.0초 2회 1.1초 3회 1.1초 4회 1.2초 등등)

 

이런 현상을 막기 위한 방법이 있을까요 ?

음무 (17,820 포인트) 님이 2016년 1월 15일 질문

1개의 답변

0 추천
캐시를 완전히 안쓰게 하는 것은 불가능합니다.

페이지 로딩 완료 후에 캐시를 지우는 방식을 시도해 볼 수는 있는데, 의도한 대로 동작할지는 확신할 수 없습니다.
익명사용자 님이 2016년 1월 15일 답변
...