2011-02-14 9 views
3

48x48에서 500x500 픽셀 크기의 다양한 이미지를 많이 캐시해야하는 안드로이드 애플리케이션을 작성하고 있습니다. 이러한 이미지는 다양한 소스 (네트워크를 통해 가져온 것입니다. 사용자가 소스를 선택하고, 이미지 모음을 탐색하고, 소스를 변경하고, 이미지 모음을 탐색하는 등). 누군가가 이미 본 일부 이미지를 통해 벗어나면 HTTP를 치고 싶지 않기 때문에이 이미지에 대한 캐싱을 구현하고 싶습니다. 분명히 메모리 사용은 꽤 중요하므로 EhCache는 캐시 경계 설정, 디스크로 확장 등 다양한 옵션을 제공하므로 여기에서 EhCache가 제공됩니다.안드로이드에서 비트 맵 이미지 캐싱을위한 EhCache?

캐싱에 대한 올바른/최선의 방법인가요? 이 이미지들? SD 카드의 디스크에 많은 응용 프로그램 캐시가 있음을 알았지 만 가능한 경우 속도/편리 성을 위해이를 피하고 싶습니다.

+0

당신은 어떤 메모리 캐시를 시도하기 전에 디스크 이미지를 캐시하는 것을 시도했다 : 여기

는 자바 독인가? 휴대 전화에는 리소스가 매우 제한되어 있으며 리소스가 필요할 때 시스템에서 앱을 종료하지만 항상 디스크를 사용할 수 있음을 기억하십시오. – dongshengcn

+0

그래서 디스크에 캐시 할 전체 캐싱 시스템을 작성해야합니까? 이것을 단순화 할 라이브러리가 있습니까? –

답변

2

당신은 마티아스 Kaeppler의 프로젝트 이드 - 푸 체크 아웃해야합니다 :
이드 - 푸에 https://github.com/mttkay/droid-fu

ImageCache가, 두 번째 레벨에 첫 번째 레벨 캐시 메모리 및 디스크를 사용합니다. 그것은 안드로이드를 위해 특별히 만들어졌으며 거기에 맞는 일을합니다. 이것은 sdcard 나 다른 디렉토리를 오염시키는 대신 현재 애플리케이션에 지정된 캐시 디렉토리를 사용하는 것입니다. 안드로이드는 필요할 때 캐시 디렉토리를 자동으로 정리할 수 있습니다.
http://mttkay.github.com/droid-fu/com/github/droidfu/imageloader/ImageCache.html

+0

감사합니다. 정말 도움이됩니다. –

+0

안드로이드는 저장 공간이 부족할 때만 (캐시가 작동하는 방식이 아님)이 디렉토리를 관리하지 않습니다 : "내부 저장 공간이 부족하면 Android에서 이러한 캐시 파일을 삭제하여 공간을 복구 할 수 있습니다 하지만 시스템에서 이러한 파일을 정리하지 말고 항상 캐시 파일을 유지 관리해야하며 1MB와 같은 적절한 공간 (예 : 1MB)을 유지해야합니다. 사용자가 응용 프로그램을 제거하면 이러한 파일은 제거되었습니다. " – MrSnowflake

+0

@MrSnowflake Droid-Fu가 캐시 디렉토리를 사용한다고해서 그것이 스스로 정리할 수 없다는 것을 의미하지는 않습니다. 그렇지 않습니까? 휴고의 요점은 안드로이드가 필요하다고 판단 할 경우 적어도 ** 자격이있는 ** 저장소에 적절한 위치를 사용한다는 것입니다. – spaaarky21

관련 문제