iOS 용 프로젝트를 컴파일 할 때 다음 오류와 같은 오류 목록이 표시됩니다.런타임 오류 : __NSAutoreleaseNoPool() : ... 풀이 없음으로 자동 릴리스 됨 - 방금 누출 됨
2011-08-25 12:32:44.016 rtsp[55457:6003]
*** __NSAutoreleaseNoPool(): Object 0x64095a0 of class __NSArrayM
autoreleased with no pool in place - just leaking
은 다음 이유로 인해 기능이 제 기능을
- (void) start {
//Existing code
session = [[RTSPClientSession alloc] initWithURL:
[NSURL URLWithString:
@"rtsp://video3.americafree.tv/AFTVComedyH2641000.sdp"]];
[session setup];
NSLog(@"getSDP: --> %@",[ session getSDP ]);
NSArray *array = [session getSubsessions];
for (int i=0; i < [array count]; i++) {
RTSPSubsession *subsession = [array objectAtIndex:i];
[session setupSubsession:subsession clientPortNum:0 ];
subsession.delegate=self;
[subsession increaseReceiveBufferTo:2000000];
NSLog(@"%@", [subsession getProtocolName]);
NSLog(@"%@", [subsession getCodecName]);
NSLog(@"%@", [subsession getMediumName]);
NSLog(@"%d", [subsession getSDP_VideoHeight]);
NSLog(@"%d", [subsession getServerPortNum]);
}
[session play];
NSLog(@"error: --> %@",[session getLastErrorString]);
[session runEventLoop:rawsdp];
}
내가 추가
및 NSAutoreleasePool
이 나타납니다
- (void) start {
NSAutoReleasePool *pool=[[NSAutoReleasePool alloc] init];
session = [[RTSPClientSession alloc] initWithURL:[NSURL ...
...
[pool drain];
}
오류가 사라지고하지만 난에서 모든 출력을 얻을하지 않습니다 내 기능. 올바른 솔루션을 NSAutoreleasePool
추가 하시겠습니까?
감사합니다.하지만 Autorelease 풀을 어디에 배치해야합니까? 나는 우리가 그들을 어디로 평상시에 두어야 하는지를 뜻합니다. 죄송합니다 대답은 분명하지만 아이폰 OS dev에 새로운 해요. – Anila
수정 사항을 확인하십시오. – Daniel