2012-02-05 4 views
3

기본적으로 뉴스 기사 목록을로드하고 사용자 클릭시 웹보기에서 열어주는 Android 앱을 개발 중입니다. 내가 '-> 설정 -> 응용 프로그램 - 응용 프로그램 관리'에 내 응용 프로그램의 세부 사항을보고 전체 저장 크기가 증가 계속, 때 대해 궁금하네요 무엇Android 앱 데이터 저장 용량이 계속 증가합니다.

이다. 특히, 데이터 저장 크기가 증가하고있다. 물론 응용 프로그램 크기는 고정되어 있습니다.

내가 아는 바로는 sharedpreferences가 데이터 저장 공간을 차지합니다. 나는 다른 것을 모른다. 내 애플 리케이션에서, 난 단지 1 체크 박스 환경 설정 및 4 항목과 listpreference있다.

또한 onSaveInstanceState() 메서드를 구현했으며 여기서 단일 int 값을 저장하고 onCreate() 동안 다시 읽습니다.

증가하는 데이터 저장 용량이 정상입니까 또는 무엇인가 누락 되었습니까? 어쩌면 내 코드에서해야 할 메모리 사용 정리가 있어야할까요? 그런데

, 내 응용 프로그램은 어쩌면 일부 이미지를 캐싱 웹보기 때문에 상당히 큰 캐시 크기를 가지고 있지만 나는 데이터 저장이 계속 증가하게 모르겠어요.

+0

선형 비율로 증가합니까? 또는 산발적으로 증가합니까? 예를 들어 웹 사이트에 가서 새로 고침하면 더 많이 증가합니까? 당신이 100 웹 사이트에 도착하면 100까지 올라가는가 아니면 변동 하는가? 누출이 있는지 또는 크롬 캐싱인지 파악하십시오. 캐싱은 산발적이어야하며 테스트 할 수 있어야합니다. 누출은 좀 더 일정해야합니다. – ntkachov

+0

데이터 크기가 내가하는 일에 따라 어떻게 달라지는 지 알아보기 위해 그걸 가지고 놀고 있습니다. 현재, 내가 보는 것은 웹 뷰에서 페이지를로드 할 때 증가한다는 것입니다. 하지만 항상 그런 것은 아닙니다. 내 웹 뷰에서 새로 고침 옵션을 사용할 수 없으므로 사용해 볼 수 없습니다. 캐시가 데이터 크기가 아닌 캐시 크기 (지금은 꽤 큽니다)에 있어야합니까? –

+0

다음은 크기가 어떻게 변하는 지 보여주는 샘플입니다. 기본적으로 첫 번째 5 개의 데이터에 대해 동일한 페이지 (작은 간단한 기사 사이트)를로드합니다. 마지막으로 다른 기사 (훨씬 크고 복잡한 사이트)를 열었고 데이터 변경이 훨씬 큽니다. 데이터 \t 캐시 520킬로바이트 \t 5.53MB; 536KB \t 5.58MB; 540KB \t 5.60MB; 548KB \t 5.62MB; 552KB \t 5.64MB; 568KB \t 6.16MB; –

답변

2

2 년이 넘는 것을 알고 있지만 다른 사람에게 유용 할 수 있습니다.

private WebView wv; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    wv = new WebView(this); 
    setContentView(wv); 
    wv.loadUrl("http://www.stackoverflow.com"); 
} 

@Override 
protected void onPause() { 
    // TODO Auto-generated method stub 
    super.onPause(); 
    wv.clearCache(true); 
} 

clearCache 방법을 사용할지 여부를 지정할 수있는 부울 인수를 취합니다 나는 문제가 WebView에있는 것이 아니라 SharedPreferences 에 저도 같은 문제가 있었이 방법으로 onPause() 방법을 재정 의하여 해결 발견 WebView가 저장하는 디스크 파일을 포함하려고합니다. 이 기능을 사용하면 데이터 사용량이 크게 줄어 듭니다. 희망이 도움이됩니다!

관련 문제