2013-04-09 5 views
3

기본 NSURLCache를 사용하여 내 iPhone 앱에서 이미지를 캐시합니다. 캐시가 꽉 차서 다른 이미지를 캐시하려고하면 어떻게됩니까?NSURLCache가 꽉 찬 경우 어떻게됩니까?

이미지를 캐시하지 않습니까? 또는 캐시 된 가장 오래된 이미지로 바뀝니 까?

+0

이 문서에는 설명되어 있지 않지만, 애플이 FIFO보다 나은 것을 기대하고있다. 캐시 히트 가중치는 캐시 히트 카운터에 기초하여 증가 될 수있다. 그리고이 동작은 메모리/디스크 레이어에 따라 다를 수 있습니다. –

+0

시스템이 할당 된 캐시 메모리를 단독으로 늘리면 생성시 캐시 크기를 선언하는 목적보다 무엇입니까? 필자는 FIFO의 종류라고 생각하지만 테스트가 정확하지 않은 것으로 확신합니다. 캐시가 50MB이고 채워질 경우 예상 할 내용을 모르겠다. – Patz

+0

단순히 어떤 종류의 캐시라도 데이터 무결성을 제공하지 않아야한다. 그렇지 않으면 캐시가 아니라 데이터베이스이기 때문에 처리해야한다. 다르게. –

답변

2

최대 캐시 많이

감사가 초기화 initWithMemoryCapacity에 영향을받을 수있다 : ... diskCapacity : ... 디스크 경로 : ..] 새 파일은 항상 다운로드됩니다. (최대 메모리 용량보다 큰 경우 제외하고 캐시에 다운로드되지 않고 저장됩니다) 최대 캐시 크기에 도달하면 다른 파일이 제거됩니다. 제거 할 파일을 지정하지 않았습니다. 자신 만의 NSUrlCache를 만들고 직접 처리하는 것은 어렵지 않습니다. 예제를보고 싶다면, https://github.com/evermeer/EVURLCache

관련 문제