iOS 메모리 관리 arc

2412 단어 메모리 관리
http://www.tekuba.net/program/346/
 
ios 자동 풀 장(autoreleasepool)
 
#import   
  •   

  • @interface Test : NSObject  
  • @end  

  •   
  • @implementation Test  

  • @end  
  •   

  •   
  • int main (int argc, const char * argv[]) {  

  •       
  •     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  

  •     Test *test = [[Test alloc]init];  
  •       

  •     NSLog(@"대상 초기 화 이후 인용 수:%x",[test retainCount]);  
  •       

  •     [pool drain];  
  •     NSLog(@"자동 방출 탱크 를 방출 한 후 대상 의 인용 수 는:%x",[test retainCount]);  

  •       
  •     pool = [[NSAutoreleasePool alloc]init];  

  •     [test autorelease];  
  •     NSLog(@"대상 을 자동 방출 탱크 에 추가 한 후 인용 수 는:%x",[test retainCount]);  

  •       
  •     [test retain];  

  •     NSLog(@"대상 이 retain 을 한 후의 인용 수 는:%x",[test retainCount]);  
  •       

  •     [pool drain];  
  •     NSLog(@"자동 방출 탱크 를 방출 한 후 대상 의 인용 수 는:%x",[test retainCount]);  

  •       
  •     [test release];  

  •     return 0;  
  • }  

  • autorelease 를 사용 하면 이 대상 은 자동 방출 탱크 에 넣 고 시스템 은 모든 대상 의 사용 상황 을 자동 으로 추적 하 며 자동 방출 탱크 를 방출 할 때 풀 의 모든 대상 을 방출 합 니 다.
     
    위의 코드 는 책 에 있 는 것 이지 만 autoreleasepool 의 용법 을 잘 설명 하 였 습 니 다.예전 에 선생님 들 은 죽 어 라 책 을 읽 으 면 안 된다 고 말씀 하 셨 습 니 다.생각 을 많이 하고 인 스 턴 스 를 직접 쓰 며 질문 을 많이 하고 토론 을 많이 해 야 합 니 다.
    여기 서 제 가 생각 하 는 것 을 적어 서 여러분 께 참고 하도록 하 겠 습 니 다.
    1.autoreleasepool 은 풀 의 대상 만 작용 할 수 있 습 니 다.우 리 는 수 동 으로 메모 리 를 관리 합 니 다.즉,수 동 또는 자동(시스템)두 개의 서로 다른 메커니즘 을 관리 합 니 다.
    2.[test autorelease]를 사용 하고 풀 드 레 인 을 사용 합 니 다.
     
    3.autoreleasepool           (Garbage Colliction)

    4.aotoreleasepool 이 바닥 에 도착 하면 언제 풀 립 니까?pool drain 이 풀 렸 나 요?
    모든 Runloop 에 대해 시스템 은 Autorelease pool(자 연 스 럽 게 여러 개의 Autorelease pool 이 있 을 것 입 니 다)을 암시 적 으로 만 듭 니 다.그러면 모든 release pool 은 CallStack 과 같은 스 택 구 조 를 구성 합 니 다.모든 Runloop 이 끝 날 때 현재 스 택 꼭대기 의 Autorelease pool 은 소각 되 고 이 pool 의 모든 Object 는 release 됩 니 다.그럼 뭐 가 Runloop 인가요?UI 이벤트,Timer call,delegate call 은 모두 새로운 Runloop 입 니 다.(공식 문서 에서 이 설명 을 찾 을 수 없습니다)

    좋은 웹페이지 즐겨찾기