답변
블럭이 실행 된 후에 언젠가는이 출시 될 것이라는 것을 보장합니다. 정확한시기를 결정하는 것은 런타임에 달려 있습니다.
커다란 루프로 작성하거나 UIImages와 같은 대규모 자동 반복 객체를 생성하는 등의 많은 자동 반복 변수를 사용하지 않는 한 큰 문제는 아닙니다. 이러한 경우에는 통과 할 때 수동으로 해제해야합니다. 그렇지 않으면 autorelease가 완벽하게 허용됩니다.
+1, 하나 개의 중요한 지점을 언급하는 유일한 대답을 autoreleasing의 방출 것을 의미 이 질문에 : ** 블록 ** – sidyll
개체가 autorelease
d 인 경우 수동으로 release
이 아니어야합니다 (물론 retain
인 경우 제외). UIKit 이벤트 처리기의 일부인 NSAutoRelease 풀은 release
입니다. 객체를 수동으로 release
으로 만들면 객체가 이중으로 release
d 일 때 풀에서 충돌 또는 기타 정의되지 않은 동작이 발생할 수 있습니다.
당신이 객체를 많이 생성 또는 객체의 메모리를 많이 사용하는 경우가있는 경우, 당신은 선제 수 있습니다 그들 (아마 당신 루프) autorelease
를 자신의 NSAutoReleasePool
만들어 - 중첩 될 수 있습니다 풀.
그래, 난 수동으로 대신 – aryaxt
물론 autorelease를 사용하는 명백한 이유가있는 경우가 아니라면 autorelease보다는 객체를 해제하는 것이 좋습니다. 예를 들어 메소드가 유지되는 객체를 반환 할 때 autorelease를 사용하면 피할 수 없습니다.
기본적으로 자동 복구는 메모리 관리를 완전히 피하기위한 구실로 사용해야합니다. 가능한 한 빨리 객체를 해제하려고합니다. Autorelease는 개체가 앞으로 언젠가 릴리스 될 것이라고 말합니다.
- 1. Objective-C 메모리 관리 (alloc 및 autorelease)
- 2. 객관적인 c 메모리 관리
- 3. 팁 메모리 관리, 객관적인 c
- 4. 객관적인 C 메모리 관리 문제
- 5. 객관적인 c 메모리 누수
- 6. 객관적인 C 메모리 누수
- 7. 객관적인 C 메모리 누수
- 8. iPhone, 메모리/autorelease 객체
- 9. C# 컴파일러 및 메모리 관리
- 10. C++ 메모리 관리 및 벡터
- 11. 객관적인 c NSString 메모리 경고
- 12. 객관적인 C 메모리 누수 문제
- 13. 자바 및 메모리 관리
- 14. 메모리 관리 - 목표 C NSString
- 15. 함수 메모리 관리 C++
- 16. C/OpenCV 메모리 관리
- 17. Obj-c IOS 메모리 관리
- 18. 블록 및 메모리 관리
- 19. objective-c 메모리 관리
- 20. 목표 -C 메모리 관리
- 21. C++에서의 메모리 관리.
- 22. C++ 메모리 관리
- 23. objective c 메모리 관리
- 24. Objective-C/iPhone 메모리 관리
- 25. 목표 C 구조체 및 메모리 관리
- 26. 메모리 타일링 관리 및 대용량 객체 C#
- 27. C++, Seg 오류 및 메모리 관리
- 28. 는 C-배열 및 메모리 관리
- 29. 보다 구체적인, 일반 Objective-C 메모리 관리
- 30. NSThread 및 메모리 관리
나는이 도움이 될 수 있습니다 생각 - http://stackoverflow.com/questions/3433274/objective-c-autorelease – jBit