iOS
이미지 리사이징으로, 저장용량 줄이기
2024.03.19
QR코드와 같은 정보를 저장하기 위해, 이미지를 편집하고 저장하는 기능을 개발하고 있었습니다. 단순하게 이미지를 지정된 구간만큼 자르고 저장을 하던 중, 이미지의 용량이 필요 이상으로 저장되고 있음을 확인했습니다. 사용자의 핸드폰에 저장공간을 필요 이상으로 사용하여, 앱 제거 대상이 되기 전 이미지 용량을 줄이기로 했습니다. 최적화 전 - 이미지를 자른 그대로 사용하기 let cropped = UIImage(cgImage: (이미지 크롭)) ) 최적화 후 - 자른 이미지를 QR 코드를 인식할 수 있거나, 정보를 분간하는데 문제가 없는 수준으로 줄이기 func getImageFileSize(image: UIImage) -> Int? { guard let imageData = image.jpegData(co..
iOS
비동기적으로 NS 캐쉬를 사용하여, 네트워크 통신 줄이기
2024.03.19
앱 개발 기능 중, 게시글에서 사용되는 다수의 이미지를 네트워크에서 로드해야 하는 상황이 발생했습니다.이미지 특성상 데이터의 사이즈가 크기 때문에, 이미지를 매번 불러올 때마다 이미지를 로딩하는 화면을 보아야 하는 상황이었습니다. 최적화 전 - 게시글에 해당하는 이미지를 매번 네트워크에서 요청하는 방식static func loadImageFromURL(url: URL, completion: @escaping (UIImage?) -> Void) { URLSession.shared.dataTask(with: url) { data, _, error in if let error = error { print("Error downloading image: \(error.localizedD..