Swift 2

MapKit 맵뷰 메모리 절약하기

몇달 전 네이버 부스트캠프 되새김 애플리케이션을 개발하면서 사용자가 작성한 다이어리를 위치정보와 함께 저장해 맵뷰의 어노테이션(Annotation)으로 보여주도록 하는 기능을 개발하였습니다. 위의 GIF는 당시 상황을 설명하기 위해서 찍어둔 예시입니다. 맵뷰는 안그래도 메모리를 많이 사용하게 되는데, 탭바에서 다른 탭으로 이동하였음에도 맵뷰가 해제되지 않고 메모리에 그대로 남아있는 것을 볼 수 있습니다. 이 맵뷰의 메모리를 줄이기 위해서 두가지 방법을 찾았습니다. 맵뷰의 타입을 바꾼다. 탭바에서 다른 탭을 선택하게 될때마다 기존에 존재하던 맵뷰를 메모리에서 해제해준다. 맵의 타입을 바꾸기 첫번째 방법은 mapType 프로퍼티를 조작해 맵이 보여지는 방법을 조작하는 방법입니다. 예를들어 mapType을 다..

iOS 2023.05.05

Core Image 이용하여 이미지에 필터를 적용해보기

이미지에 필터를 적용하는 작업은 이미 여러번 프로젝트를 거치면서 경험해보았다. 특히 네이버 부스트캠프 프로젝트를 진행하면서 사람의 얼굴에 모자이크 처리를 해주는 기능을 넣었기 때문에 이미 Core Image, CIFilter를 통해서 이미지 필터를 처리하는 과정을 경험했다. 하지만 Core Image가 뭐죠? 처리된 이미지란 무엇일까요? 필터를 이용해서 이미지를 처리하는 과정에 대해서 말해주세요 같은 질문들을 받는 다고 생각하니 정제되지 못한 답변을 말하게 되는 것 같아서 Xcode Playground를 이용해 간단하게 필터처리를 해보고 그 내용을 정리해보려 한다. 먼저 이미지를 처리한다는 것을 무엇을 의미할까? 이미지를 처리한다는 것은 이미지에 필터를 적용하는 것을 말한다. input 이미지를 픽셀단위..

iOS 2023.05.05