2012-06-14 4 views

답변

4

Cocoa internals expect이 제자리에 있어야하며 거기에 없으면 메모리가 누출되므로 자동 복구 풀이 any thread that you create에 있어야합니다.

코코아는 항상 자동 복구 풀이 있어야합니다. 풀을 사용할 수없는 경우 자동 출시 된 객체가 해제되지 않고 응용 프로그램에서 메모리 누출이 발생합니다. 풀을 사용할 수 없을 때 autorelease 메시지를 보내면 Cocoa는 적절한 오류 메시지를 기록합니다. 일반적으로 목표 - C 프레임 워크에 연결


응용 프로그램은 각각의 스레드에서 적어도 하나 개의 오토 릴리즈 풀을 만들어야합니다.

+0

autorelease pool이없는 진정한 autoreleased 오브젝트는 ... –

+0

글쎄, 그것은 _quite_ 필수는 아닙니다. 어떤 일이 일어날 지 완벽하게 정의됩니다. 객체가 누출되고 메시지가 기록됩니다. 그것이 보통 당신이 원하는 것이 아니지만, 그것이 당신이 원하는 것일 수 없다는 것을 의미하지는 않습니다 ... – abarnert

3

자동 복구 된 개체가 하나 인 경우에도 필수입니다. 그렇지 않으면 누출 될 수 있기 때문입니다.