티스토리 뷰

음.

Webview를 통한 작업을하다보면 로그인정보라든가 쿠키정보가 남는경우가 흔하다.


일단 앵간한것과 data의 cache 디렉토리정도는 1 번가지고도 충분히 초기화된다. (1 : 일반적인경우)

그래도 남는게 있거나 쿠키세션이 꼬일위험이 있다면 2번가지고 초기화가능하다. (2: 트위터 캐시정도 레벨)

그래도 안된다면.. 3번을 사용하면 깔끔하게 클리어 (3: 페이스북 캐시정도 레벨)


특히 어플이 죽어도 webviw를 통해 로그인된 정보가 계속 남아있는 SNS연동의경우 난감 할 경우가 있는데,

뭐 깔끔하게 1,2,3 전부 써버리면 클리어~


참고로... 서버와 어플이 로그인세션관련하여 상호작용하는 경우 정상적으로 로그아웃하지 않고

사용중에 어플에서 로그인정보를 강제초기화 해버리면 서버쪽에서 문제가 생길 수 있으니 유의해서 사용하자.


1. Webview를 통한 캐시제거

mWebview.clearHistory();

mWebview.clearCache(true);

mWebview.clearView();


2. 쿠키매니저를 통한 캐시제거

CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();
cookieSyncManager.sync();


3. deleteDatebase를 이용한 직접제거

this.deleteDatabase("webview.db");
this.deleteDatabase("webviewCache.db");



[작성자] devbible.tistory.com

댓글