이미지 객체로 인한 메모리 점유가 걱정될 때
UIImage(contentsOfFile:) 생성자를 사용해서 이미지 객체를 생성하는 것이 좋다.
이 생성자를 사용하여 생성된 이미지 객체는 캐싱되지 않는 특징이 있다.
이미지 데이터를 매번 다시 읽어와야 하므로 성능이 약간 저하될 수 있지만, 자주 호출되는 이미지가 아니라면 이 방식을 사용하는 것이 메모리 관리 면에서 효율적.
var img = UIImage(contentsOfFile: <프로젝트 내 파일 경로>)
캐싱이란?
캐싱 = 데이터베이스나 파일 입출력 시스템 등에서 불러온 데이터를 메모리 등 고속으로 접근할 수 있는 곳에 임시로 저장해두고 (이를 캐시라고 함), 이후 동일한 데이터를 읽어야 할 때 임시 저장소에서 데이터를 읽어오는 처리 방식
vs.
위와 반면에, 메모리 걱정 없고 자주 이미지를 불러와야된다면
UIImage(named:) 사용
'iOS > iOS Swift 개발 일기' 카테고리의 다른 글
iOS swift 셀프 사이징 셀 (0) | 2022.05.28 |
---|---|
iOS swift 테이블 뷰의 행 높이를 결정하는 방식 (0) | 2022.05.28 |
iOS swift 코드 스니펫 (0) | 2022.05.28 |
iOS swift 테이블 뷰 컨트롤러 (0) | 2022.05.28 |
iOS swift 델리게이트 패턴 (0) | 2022.05.26 |