2014-10-15 2 views
0

내 캐시가 큰 비율에 도달 할 수 있습니다. 이것은 지금 저에게 심각한 문제입니다. 캐시의 크기를 제한하는 방법을 알려주십시오. 당신이 함수 getCacheDir()를 사용하는 경우, 예를 들어,제한된 캐시 디렉토리 크기

답변

0

방법 캐시

를 사용하여 자바 파일 I의 크기를 제한하는 방법을 가르쳐주세요 파일의 크기를 제한 할 수 있습니다로/O를 사용하여 얼마나 많은 공간을 소비하는지 확인한 다음 임계 값을 초과 할 때 일부 항목을 삭제하십시오. 당신이 함수 getCacheDir()를 사용하는 경우

, 그것은 가능한 한 당신은 당신의 파일을 자신의 크기를 측정하고 그것을 자신을 제한하실 수 있습니다 파일

의 크기를 제한합니다. Android에는 캐시 크기가 제한되지 않습니다.

+0

이 주제에 대해 한 가지 더 질문 하시겠습니까? onDestroy 활동 나는 캐시를 청소하는 메소드를 호출한다. 이 함수는 getCacheDir 파일에서 모든 파일을 삭제합니다. 루프에서이 디렉토리의 모든 파일을 가져 와서 file.exist()를 확인하고 삭제하십시오. 제거 할 각 항목에 대해 Log.i ("tag", delete + String.valueOf (i))를 넣고 모든 파일이 제거되지 않는지 확인합니다. 내가 이해함에 따라 그들은 시간을 내지 못한다. 이 문제를 어떻게 해결할 수 있습니까? – user3815165

+0

@ user3815165 :'onDestroy()'보다 더 나은 시간에 작업을 수행하고 기본 응용 프로그램 스레드가 아닌 백그라운드 스레드에서 작업하십시오. – CommonsWare

+0

죄송합니다.하지만 최선의 방법을 찾을 수 없습니다. 캐시를 지우는 응용 프로그램을 종료 할 때 작업이 있습니다. On Back 버튼은 OnDestroy에서 작동합니다. 하지만 사용자가 응용 프로그램을 끄고 메모리에서 언로드하지 않으면 어떻게 될까요? 이 작업이 실패 할 때 삭제시 캐시가 지워지지 않습니다. 어쩌면이 이벤트를 처리 할 수있는 onApplication Destroy 리스너가 있습니까? – user3815165