답변
이 예는 누출 될 것입니다. 당신은
numberFormatter = [[NSNumberFormatter alloc] init];
코드의이 조각은 "싱글 톤 패턴", 또는 매우 비슷한 implemets 곳에서 오는 나에게 보인다 ... A는 여기에 하나의 수를 유지해야합니다. 변수가 static
이므로 함수 호출 사이에 해당 값이 기억됩니다. 즉, 응용 프로그램의 수명 기간에 번만 번만 할당됩니다.
이 코드에서 numberFormatter
변수는 응용 프로그램에서 전체 수명 동안 언제든지 필요로 할 수있는 것으로 보입니다. 따라서이 변수를 해제 할 필요가 없습니다.
응용 프로그램에서 자주 필요한 경우이를 해제하는 것이 더 현실적이지 않을 수 있습니다. 이는 불필요한 메모리 할당 및 할당 취소 작업을 유발합니다.
.
이렇게하면 해당 변수에 할당 된 메모리도 해제됩니다.
이 개체가 메모리 이외의 리소스를 사용하면 명시 적 정리가 필요하지만 그렇지 않은 경우에는 필요하지 않습니다.
numberFormatter
변수가 static
이기 때문에 메모리가 누출 될 것이라고 생각하지 않습니다. 이는 단지 하나의 복사본 만 있고 함수 호출 사이에 참조가 남아 있기 때문입니다. 당신이 새로운 것을 만드는 유일한 시간은 아직 존재하지 않는다면 당신은 오직 하나의 사본만을 가질 것입니다.
이 같은 "ALLOC"를 수행 할 때 :
numberFormatter = [[NSNumberFormatter alloc] init];
개체를 "해제"해야하거나 누출 :
[numberFormatter release];
그것은 나타납니다 그 의도 이 코드는 numberFormatter를 한 번 할당하고 프로그램의 전체 수명 동안 계속 유지하는 것입니다. 응용 프로그램이 닫힐 때 모든 메모리가 자동으로 해제되므로이 방법으로 사용할 때 메모리를 비울 필요가 없습니다. 그럼에도 불구하고 보유하고있는 모든 메모리 조각을 릴리스하는 것은 여전히 좋은 습관입니다.
- 1. 몇 가지 질문
- 2. 나는이 같은 몇 가지 아주 간단한 예제 코드가 파일
- 3. Silverlight HTTP POST 몇 가지 변수, 간단한 예제 (최소 코드)
- 4. IPv6와 관련된 몇 가지 질문
- 5. 그릿에 관한 몇 가지 질문
- 6. 몇 가지 간단한 코드 문제
- 7. 몇 가지 Lucene 관련 질문
- 8. PGP - GnuPG - 몇 가지 질문
- 9. jqtouch에 관한 몇 가지 질문
- 10. 캐싱에 대한 몇 가지 질문
- 11. DLR에 대한 몇 가지 질문
- 12. Android, Imageview, 몇 가지 질문
- 13. PyQt와 관련된 몇 가지 질문
- 14. 디자인과 관련된 몇 가지 질문
- 15. 순열에 대한 몇 가지 질문
- 16. CodeSmith에 대한 몇 가지 질문
- 17. 스레드 동기화에 대한 몇 가지 질문
- 18. iphone 메모리 관리 및 cocos2d에 관한 몇 가지 질문
- 19. index와 application.ini의 혼란 및 몇 가지 간단한 질문
- 20. PHP 객체의 성능에 대한 몇 가지 질문
- 21. 몇 가지 간단한 JQuery 버튼이 있습니까?
- 22. Sharepoint 2010. 몇 가지 간단한 질문이 있습니다.
- 23. 가 나는 생식으로 몇 가지 간단한 코드가
- 24. liquibase noob의 질문 중 몇 가지
- 25. Qt pro-file에 대한 몇 가지 질문
- 26. Python의 '가져 오기'기능에 관한 몇 가지 질문
- 27. 로드 중 몇 가지 질문 jquery.ajax
- 28. MySql 캐시 문제 ... 몇 가지 질문
- 29. Django 현지화에 대한 몇 가지 질문
- 30. Django에서 타사 앱 사용, 몇 가지 질문
이 예제에서는 변수가 정적 인 것을 잊어 버렸습니다. – Venemo