언제 메모리를 해제해야합니까? 왜냐하면 내가 메모리를 해제하면, 여러 번 응용 프로그램이 충돌하기 때문입니다.언제 메모리를 해제해야합니까?
답변
objective-c의 메모리 관리에 대한 Apple 설명서를 참조하십시오. 당신이 그것으로 마친
http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/MemoryMgmt.html
당신은 메모리를 해제해야한다. 객체는 참조 카운트되므로, retain
과 release
(그리고 다른 모든 사람들도 마찬가지입니다.) 아무런 문제가 없어야합니다.
메모리를 해제했기 때문에 충돌하는 경우 사용자 또는 다른 사람이 규칙을 따르지 않습니다.
두 경우 모두 규칙을 따르지 않는 사람을 찾아서 수정하십시오. 충돌을 피하기 위해 메모리에 붙들지 마십시오. 그런 식으로 광기가 생깁니다 (그리고 기억이 부족합니다).
나는 그것을 메모리가 아닌 객체를 해제하는 것으로 생각하는 것이 도움이된다고 생각합니다. 실제 메모리는 보유 횟수가 0이 될 때 객체에 dealloc 메시지를 보내는 런타임에 의해 할당이 해제됩니다. – Plumenator
+1 광기. 일생 동안 당신의 배당금을 매입하거나 정신 나간 것을 배우십시오. 사용할 수있는 중간 지점은 많지 않습니다 .... – RBerteig
- 1. 호출 후 Interop 구조 메모리를 해제해야합니까?
- 2. Perl에서 한 줄씩 파일을 읽는 동안 적극적으로 메모리를 해제해야합니까?
- 3. 전체 사용자 데이터 __gc 메타 메서드에서 메모리를 해제해야합니까?
- 4. 'const gchar *'은 무엇을 의미하며, 사용 후 메모리를 해제해야합니까?
- 5. 언제 메모리를 해제 할 것인지 확인합니다
- 6. 왜 이러한 개체를 해제해야합니까?
- 7. Delphi 2009에서 변형 배열을 해제해야합니까?
- 8. NSString 변수 : 해제해야합니까?
- 9. 이 경우 정규화를 해제해야합니까?
- 10. 어떤 컴파일러 경고를 해제해야합니까?
- 11. PHP에서 __destruct()를 해제해야합니까?
- 12. NSMutableArray에서 Objects를 해제해야합니까?
- 13. 이 속성을 해제해야합니까?
- 14. 제스처 인식기를 해제해야합니까?
- 15. 속성의 할당을 해제해야합니까?
- 16. 구조체의 각 요소를 해제해야합니까?
- 17. 개체에 대한 메모리를 관리하는 방법
- 18. char 포인터의 배열 (문자열)에 할당 된 메모리를 해제합니다. 각 문자열 또는 "기본"포인터를 해제해야합니까?
- 19. 새 값을 지정하기 전에 NSString을 해제해야합니까?
- 20. 이 예제에서 temp 개체를 해제해야합니까?
- 21. 클래스는 어디에서 private 변수를 해제해야합니까?
- 22. NSDictionary에서 가져온 값을 보존하거나 해제해야합니까?
- 23. 뮤텍스가 타임 아웃되면 여전히 해제해야합니까?
- 24. 힙에 메모리를 확보합니다. 나는 어떻게해야합니까?
- 25. 언제 예상하고 언제 스텁을합니까?
- 26. 언제
- 27. 언제
- 28. 언제
- 29. 웹 서비스 호출에서 자동 인스턴스화 된 Delphi 객체를 해제해야합니까?
- 30. C#에서 IClearCase, IClearTool 사용, 할당 된 메모리를 어떻게 관리합니까?
나는이 글을 쓰면서, "진짜 질문이 아니다"라고 결론을 내리는 두 표를 이유로 제시했다. 그것은 명백히 거짓입니다. 진짜 질문이며 정확하게 대답 할 수 있습니다. 또한 이유에 대한 정확한 복제본을 인용하고 싶다면 아마도 Objective-C의 다른 질문에 대한 복제본 일 것입니다. – JeremyP
[Objective-C Memory Management : 가능한시기는 언제 \ [release \]입니까?] (http://stackoverflow.com/questions/3012001/objective-c-memory-management-when-do-i-release) – Mottie