2010-08-19 4 views
1

언제 메모리를 해제해야합니까? 왜냐하면 내가 메모리를 해제하면, 여러 번 응용 프로그램이 충돌하기 때문입니다.언제 메모리를 해제해야합니까?

+1

나는이 글을 쓰면서, "진짜 질문이 아니다"라고 결론을 내리는 두 표를 이유로 제시했다. 그것은 명백히 거짓입니다. 진짜 질문이며 정확하게 대답 할 수 있습니다. 또한 이유에 대한 정확한 복제본을 인용하고 싶다면 아마도 Objective-C의 다른 질문에 대한 복제본 일 것입니다. – JeremyP

+1

[Objective-C Memory Management : 가능한시기는 언제 \ [release \]입니까?] (http://stackoverflow.com/questions/3012001/objective-c-memory-management-when-do-i-release) – Mottie

답변

3

당신은 메모리를 해제해야한다. 객체는 참조 카운트되므로, retainrelease (그리고 다른 모든 사람들도 마찬가지입니다.) 아무런 문제가 없어야합니다.

메모리를 해제했기 때문에 충돌하는 경우 사용자 또는 다른 사람이 규칙을 따르지 않습니다.

두 경우 모두 규칙을 따르지 않는 사람을 찾아서 수정하십시오. 충돌을 피하기 위해 메모리에 붙들지 마십시오. 그런 식으로 광기가 생깁니다 (그리고 기억이 부족합니다).

+0

나는 그것을 메모리가 아닌 객체를 해제하는 것으로 생각하는 것이 도움이된다고 생각합니다. 실제 메모리는 보유 횟수가 0이 될 때 객체에 dealloc 메시지를 보내는 런타임에 의해 할당이 해제됩니다. – Plumenator

+0

+1 광기. 일생 동안 당신의 배당금을 매입하거나 정신 나간 것을 배우십시오. 사용할 수있는 중간 지점은 많지 않습니다 .... – RBerteig

관련 문제