이미지를 다운로드하고 내부 메모리에 저장하고 있습니다. 이로 인해 앱 캐시가 매우 빠르게 성장할 수 있습니다. 그것은 여기에 제안으로내부 저장소 사용 - 안드로이드 - 캐시 파일 삭제
:
장치가 내부 저장 공간이 부족
http://developer.android.com/guide/topics/data/data-storage.html, 안드로이드 공간을 복구하기 위해이 캐시 파일을 삭제할 수 있습니다. 그러나 이러한 파일을 정리하기 위해 시스템에 의존해서는 안됩니다. 당신은 항상 캐시 파일을 직접 유지하고 1메가바이트으로 소비 공간의 합리적 제한, 같은 내에서 유지되어야
내 질문은 캐시가 20메가바이트 주위에 지금 예를 들면, 너무 큰 얻고 아직도 성장하면 무슨 일이 일어날 것입니다.
인터넷 연결이 가능하면 앱을 시작할 때마다 가이드 라인을 따라 삭제해야한다고 생각했습니다.
String[] allFiles = fileList();
Log.e(TAG, "allFiles.length: " + allFiles.length);
for(int k=0; k<allFiles.length; k++)
{
Log.e(TAG, "allFiles [ " +k+"]: "+allFiles[k]);
}
그러나이 코드는 항상 0 개의 파일을 반환합니다. 특정 이미지에 액세스하려고하면 내부 메모리에서 쉽게 검색 할 수 있습니다. 이 코드가 모든 이미지가있는 배열을 반환 할 수없는 이유는 무엇입니까 ?? 내부 메모리 따라야 할 올바른 접근 방식을 무엇
.. 사전에
감사합니다,
안드레아스
전체 파일 이름 검색 논리가 포함되지 않은'fileList()'내에 있습니다. 이 코드를 게시하지 않으면 왜 이것이 작동하지 않는지 알 수있는 방법이 없습니다. – kabuko
문제없이 개별적으로 각 이미지 (파일 이름)에 액세스 할 수 있습니다! 문제는 위의 링크에서 제안 된대로 내부 메모리의 모든 파일 목록을 가져 오려는 경우입니다. 위의 메서드는 항상 0을 반환합니다! – andreasv
아, 내 실수. 나는'fileList()'가 Context에 있는지 몰랐다. 어쨌든 나는 그것을 신경 쓰지 않을 것이다. 'getCacheDir'의 폴더에 저장하고 있다면'getCacheDir(). listFiles()'를 사용하십시오. – kabuko