ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Objective-C의 메모리 관리
    아빠 일기/iPhone 2011.07.18 10:28
    어짜피 C다.
    그래서 직접 메모리를 접근하는데,
    문제가 있을 거라서 Heap을 관리하는 것으로 NSAutoreleasePool이란 걸 쓴다.
    여기서 메모리 관리를 하고 종료할 때 한꺼번에 해제해주고.

    이 NSAutoreleasePool은 결국 NSObject를 상속받은 클래스에만 관리를 한다.
    즉 [alloc] [release] 등을 해줄 수 있는 것들.
    그 왜 일반적으로 메모리를 잡을 수 있는 배열 등은 malloc 해줬으면 알아서 delete를 해줄것! (기본 c 개발 상식)

    그럼 뭐하러 alloc하고 retain하고 release를 해줄까?
    reference counting을 하는건데...
    궁극적으로는 메모리를 적게 먹는 앱을 개발한다면 그닥 신경 안써도 될 듯?
    앱 종료시에 메모리 해제가 다 되니까...
    다만 메모리를 많이 먹는 앱이면 내부 Heap 관리를 해야 하므로,
    release를 해서 ref count를 0으로 만들어야 나중에 메모리를 써야 할 때 기존에 사용했던 메모리 영역을
    다시 할당해줄 수가 있다.

    그니까 알아서 잘 관리하자.

    요점... alloc이나 retain을 해줬으면 나중에 필요없을 때는 필히 release 하기! 

    '아빠 일기 > iPhone' 카테고리의 다른 글

    Ogre 3D SDK for MAC 설치  (0) 2011.07.20
    Objective-C의 메모리 관리  (0) 2011.07.18
    iPhone용 Open 3D Engine  (0) 2011.07.18

    댓글 0

Designed by Tistory.