@autoreleasepool 키워드는 메모리를 효율적으로 관리하고 싶을 떄 사용하면 좋을 듯하다.
만약 아래와 같은 코드가 있다고 하자 그러면 for문이 끝난 시점에서 메모리를 해제를 할 것이다.
for (/* a long time */) {
NSMutableString *s = [NSMutableString string];
// ...
}
위의 코드에 @autoreleasepool 를 사용한 코드를 보자
for (/* a long time */) {
@autoreleasepool {
NSMutableString *s = [NSMutableString string];
// ...
}//여기서 메모리 해제가 됨
}
이제 autoreleasepool로 인해 for문이 끝난 시점이 아닌 즉시 메모리를 해제를 하기 시작한다. 그래서 무거운 루프 작업을 할 때 메모리를 효율적으로 관리 할 수 있다.
'Development > IOS & Mac' 카테고리의 다른 글
NSArray 정렬하기 (0) | 2014.08.28 |
---|---|
ViewController를 View처럼 넣기~! (0) | 2014.08.13 |
iOS Background 실행시키기 (0) | 2014.08.01 |
iCarousel 라이브러리에서 iCarouselTypeWheel 모드일 때 선택된 View 앞으로 보이게 하기 (0) | 2014.07.28 |
Cocos2d-X iOS에서 완전히 종료시키기 (0) | 2014.07.23 |