2016-09-29 2 views
0

이미지가 파일 시스템에서만로드되고 인터넷에서는로드되지 않는 갤러리 응용 프로그램을 구축 중이며 파일 시스템에 대한 읽기/쓰기와 DiskLRUCache에 대한 성능 차이가 있는지 알고 싶습니다 (JakeWharton). 그렇다면 저장소 디렉토리를 캐시에서 SD 카드/내부 파일 시스템으로 변경하여 저장소에 "DiskLRUCache"를 사용할 수 있습니까? 감사합니다읽기/쓰기 성능 : DiskLruCache vs 파일 시스템

+0

메모리에 대한 읽기/쓰기는 파일 시스템을 앞당기 고 있습니다. 비트 맵 생성 및 gc가 너무 자주 발생하지 않도록 메모리 캐시를 사용해야합니다. – Bennyhuo

+0

메모리 캐시에 대해 잘 알고 있지만 디스크 자체에 저장되어있는 "DiskLRuCache"에 대해 묻고 있습니다. 너의 대답을 정확하게 이해한다면. –

+0

아, 죄송합니다. 질문에 대한 오해가있었습니다. – Bennyhuo

답변

0

getExternalFilesDirs (STORAGE 권한이 필요 없음)에서 검색 한 디렉토리를 읽거나 쓰면 모두 같습니다. 나는 현재 DiskLRUCache와 함께 사용할 수있는 디렉토리를 얻기 위해이 방법을 사용하고 있습니다. 액세스가 지연되고 UI가 느려지므로 메모리 내장 캐시도 사용합니다.

아이디어는 DiskLRUCache로 디스크에 비트 맵을 저장하고 가장 최근에 액세스 한 갤러리 항목을 LruCache에 저장하는 것입니다.

LruCache (메모리 캐시)에서 개체를 가져 와서 찾지 못하면 디스크 (DiskLRUCache)에서 읽은 다음 메모리 캐시 개체에 저장하십시오. 이 논리에 대한 멋진 래퍼를 작성하면 곧바로 인터페이스 할 수 있습니다.