kingfisher

    Queenfisher 이미지 캐시 개선기

    Trinap 앱을 만들며 우리 팀이 생각한 도전들 중 하나는 라이브러리 만들어서 써보기였습니다. 그중 Kingfisher를 Queenfisher(ㅋㅋ)라는 이름으로 만들어서 사용했는데요, 이 Queenfisher를 개선한 경험을 남겨보도록 하겠습니다. 이전에 적용된 이미지 캐시 로직과 정책 memoryCache와 diskCache 중 하나를 선택해서 사용을 할 수 있도록 해두었습니다. 캐싱 정책에 대해서 고민하지 않고 무제한으로 캐싱하도록 했습니다. 문제는? memoryCache와 diskCache 중 하나만 사용을 하면서 캐싱의 효율을 극대화할 수 없었습니다. memoryCache의 리밋이 없어서 imageData들을 모두 NSCache에 넣게 되었고, 이미지가 많이 로드되고 나서 지워지지 않고 계속 ..