출처: http://mildwhale.tistory.com/16
UIImageView 를 사용하기 위해서는 UIImage 를 이용하여 ImageView를 생성해야 합니다.
우리는 일반적으로 이미지를 불러오기 위해 [UIImage ImageNamed:@""] 함수를 사용하게 됩니다.
위의 ImageNamed 함수는 Image를 메모리에 Cache합니다.
미리 캐시된 이미지를 사용하기 때문에 동일한 이미지를 불러오는 시간이 매우 단축됩니다.
하지만 한번 캐시된 이미지는 이미지뷰를 Release 한다고 해도 메모리에서 해제되지 않습니다.
때문에 서로 다른 여러개의 이미지를 읽어올 경우 많은 메모리가 사용되는 것을 볼 수 있습니다.
이 문제(?)는 ImageNamed함수가 아닌 다른 함수를 사용하여 해결할 수 있습니다.
기존
|
변경
UIImage *image = [[UIImage alloc] initWithContentsOfFile:path]; UIImageView *img_Chapter = [[UIImageView alloc] initWithImage:image]; [image release]; image = nil ; |
'IT_Programming > Objective-C · Swift · iOS' 카테고리의 다른 글
[펌] iOS 8의 적응형(Adaptive) UI (0) | 2015.09.23 |
---|---|
[펌] 아이폰 6, 6+, iOS 8으로의 포팅: 10가지 팁 (0) | 2015.09.23 |
ios 라이브러리를 Framework 형태로 만들기 및 배포. (0) | 2015.06.30 |
iOS Application 앱 스토어 등록 절차 / Dropbox를 이용하여 서버없이 iOS 테스트용 앱 배포하기(Ad-Hoc distribution) (0) | 2015.06.26 |
[iOS] 맥에서 구글 드라이브를 이용한 URL 앱 배포 (adhoc) / iOS 앱 내부 배포 (ad-hoc , OTA ) 가이드 (Dropbox 활용) (0) | 2015.06.26 |