안드로이드에서 웹뷰나 하이브리드앱을 사용시 캐쉬가 사용되는데,
서버에서 파일을 갱신하여도 예를들어 동일한 이름의 css 파일이나 썸네일 이미지등
안드로이드 앱에서 기존에 있던 파일과 동일하다고 생각하여 다운로드를 받지 않는 경우가 생긴다.
모바일 브라우저의 CSS를 바로 적용시키기 위한 방법은
해결책으로는
1. 페이지 로딩시 time값등 변경된 값을 주어 자동으로 갱신하도록 한다.
<link rel="stylesheet" type="text/css" href="./include/style.css?<?=time()?>"/>
<link href="./css/readizgen.css?<?=filemtime(\'./css/readizgen.css\')?>" rel="stylesheet">
temp.css 의 뒤에 "?" 를 붙이고, 변경된 값을 넣어주면 된다.
예를 들어
1) temp.css?123
2) temp.css?x=234
3) temp.css?ver=2
"?"뒤에 있는 값이 다르면 변경된것으로 브라우져가 인식하고 다시 다운로드를 받는다.
2. 앱 종료시 강제로 캐시를 지운다. (안드로이드 앱 종료시)
private void clearApplicationCache(java.io.File dir){
if(dir==null)
dir = getCacheDir();
else;
if(dir==null)
return;
else;
java.io.File[] children = dir.listFiles();
try{
for(int i=0;i<children.length;i++)
if(children[i].isDirectory())
clearApplicationCache(children[i]);
else children[i].delete();
}
catch(Exception e){}
}
@Override
public void onDestroy() {
super.onDestroy();
clearApplicationCache(null);
}
참고사이트 :
http://www.androidpub.com/265895
'안드로이드 개발 팁' 카테고리의 다른 글
안드로이드 하이브리드앱(기본 브라우져 사용)에서 서버의 Front에서 javascript를 이용하여 연동하는 방법 (0) | 2019.04.29 |
---|---|
스크롤뷰안에 리스트뷰가 있을때 높이 계산 (0) | 2017.10.30 |
Android Camera motion detection (카메라 모션) (0) | 2016.03.08 |
Android를 개발하면서 필요한 UI 라이브러리 모음 (0) | 2015.11.04 |
안드로이드 qrcode, 바코드 스캐너 소스 (0) | 2015.08.18 |