Search

두뇌 게임(기간: 7일)

About

Kingfisher를 이용해서 원격 저장소에서 이미지 다운로드 후 캐싱하여 앱의 반응 속도와 데이터 관리 효율성을 증가시킴
ViewAnimator를 이용해서 사용자에게 보다 매력적인 인터페이스를 경험할 수 있도록 함

사용된 오픈소스라이브러리

Kingfisher
ViewAnimator

주요 코드

[ 이미지 다운로드 및 캐싱 ]
func configure(_ item: Category) { if let imageUrl = URL(string: item.backgroundImage) { let processor = DownsamplingImageProcessor( size: backgroundImageView.bounds.size ) backgroundImageView.kf.indicatorType = .activity backgroundImageView.kf.setImage( with: imageUrl, options: [ .processor(processor), .scaleFactor(UIScreen.main.scale), .transition(.fade(0.2)), .cacheOriginalImage ] ) } titleLabel.text = item.title titleLabel.textColor = item.titleColor }
Swift
복사
DownsamplingImageProcessor 를 사용하여 ‘backgroundImageView ‘의 크기에 맞게 다운샘플링하였고 이를 통해 메모리 사용을 줄이고 앱의 성능이 향상된다. → 특히, 대용량 이미지를 다룰 때 유용함
.scaleFactor(UIScreen.main.scale) 은 이미지를 현재 디바이스 스크린 스케일에 맞게 조정한다. 이를 통해 다양한 해상도를 가진 디바이스에서 이미지가 깨지지 않고 선명하게 보일 수 있도록 도와준다.
.transition(.fade(0.2)) 를 사용하여 이미지가 로드될 때 사용자에게 부드러운 시각적 경험을 제공하였다.
.cacheOriginalImage 는 ‘Kingfisher’기 이미지를 다운로드한 후 원본 이미지를 캐시에 저장하게 한다. 나중에 같은 이미지를 다시 요청할 때 캐시에서 빠르게 로드할 수 있어서 네트워크 사용을 줄이고 더 빠른 이미지 로딩을 가능하게 한다.