문제

iPhone은 쓰레기 수집을 지원합니까? 그렇다면 사용하여 수행되는 작업을 수행하는 대체 방법은 무엇입니까? +alloc 그리고 -init 콤비네이션:

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData];
UIImage *originalImage = [[UIImage alloc] initWithData:data];
detailViewController = [[[DetailViewController alloc] initWithNibName:@"DetailView bundle:[NSBundle mainBundle]] autorelease];

... 그리고 다른 명령. 제공 할 수있는 도움이나 방향에 대해 미리 감사드립니다.

도움이 되었습니까?

해결책

아니요. 쓰레기 수집은 장치의 배터리 수명이 제한된 제한된 오버 헤드입니다.

항상 프로그램해야합니다 alloc/release 패턴을 염두에 두십시오.

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData];
...
[xmlParser release];

또는 (모든 상황에 적합하지 않음)

NSXMLParser *xmlParser [[[NSXMLParser alloc] initWithData:xmlData] autorelease];

도움이 되었기를 바랍니다!

다른 팁

아니요, 쓰레기 수집은 현재 iPhone에서 지원되지 않습니다. 사용해야합니다 alloc/release/autorelease.

주석 수집의 부족은 약한 참조도 지원되지 않는다는 것을 의미합니다.

Mono Touch에는 쓰레기 수집이 있으며 iPhone OS에서 실행됩니다.

전체 토론에서 Java 언어에 대해 아무도 말하지 않습니다. Java에서는 쓰레기 수집이 언어로 내장되어 있으므로 Android, J2ME 및 BlackBerry :)에서 암시 적으로 사용할 수 있습니다. GC를 사용할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top