iOS/CocoaTouch에서 나는 종종 메서드 내에서 NSAutoreleasePool의 새로운 인스턴스를 만드는 코드를 보았습니다. 나는 최근에 NSOperation에서 하나를 보았습니다.NSAutoreleasePool. 언제 새로운 자동 풀 풀을 만드는 것이 적절한가요?
NSAutoreleasePool의 새 인스턴스를 설정하기위한 기본 규칙은 무엇입니까? main.m에서 생성 된 기존의 릴리스 풀에 단순히 의존하는 것이 더 좋은 이유는 무엇입니까? 당신이 원하는 때마다
감사합니다,
더그
로컬 자동 릴리스 풀이 언제 유용하지 않습니까? 나는 하나의 창작을위한 동기를 모으고있다. 또한 새 스레드에 대해 새 자동 릴리스 풀을 만들어야한다고 명시했습니다. NSOperations에서도 마찬가지입니까? 나는 광신적 인 테스터이며 로컬 autorelease pool이없는 현재의 NSOperations에 mem 누수가없는 것을 보았다. – dugla
@dugla NSOperations를 만들 필요가 있는지 확실하지 않습니다. 객체가 풀없이 자동 릴리즈되면 콘솔에 메시지를 출력하므로 필요할 경우 알려야합니다. 추가 할당을 추가하고 프로세서 사이클을 사용하기 때문에 수명이 다할 때 많은 오브젝트를 작성하지 않으면 풀 작성이 도움이되지 않습니다. 다른 객체가 그것을 사용하지 않기 때문에 당신이 평생 동안 objective-c 객체를 사용하지 않는다면 어떤 이점도 얻을 수 없습니다. – ughoavgfhw