Daily iOS
성능·디버깅

대용량 이미지 파이프라인

수십 MB짜리 사진을 편집하고 저장하는 iOS 기능이 메모리 경고 뒤 종료됩니다. 디코딩부터 저장까지 메모리 피크를 어떻게 낮추겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

원본을 UIImage로 통째로 디코딩하지 않고 ImageIO의 CGImageSourceCreateThumbnailAtIndex로 화면과 편집에 필요한 크기까지만 다운샘플링해 디코딩하고, 단계별 중간 버퍼는 autoreleasepool과 짧은 스코프로 바로 놓아 주며, 최종 저장은 원본 파일을 디스크에서 스트리밍으로 읽어 필요한 영역만 처리한다.

받은 질문 공유