본문 바로가기

arc2

Swift Memory Management Swift Memory Management스위프트는 ARC로 메모리 관리를 한다.ARC자동 참조 계수(Automatic Reference Counting)인스턴스가 더 이상 필요없을 때 사용된 메모리를 자동으로 해제해준다.강한 순환 참조ARC로 메모리를 관리할 때 발생할 수 있는 문제이다.두 개의 객체가 서로 강한 참조를 하는 경우 발생할 수 있다.해결법서로 강한 참조를 하는 경우 발생한다면, 둘 중 하나의 강한 참조를 변경해주면 된다.강한 참조를 약한(weak) 참조 혹은 미소유(unowned) 참조로 변경하면 강한 순환 참조 문제를 해결할 수 있다.약한 참조는 옵셔널일 때 사용하고, 미소유 참조는 옵셔널이 아닐 때 사용한다.클로저에서의 강한 순환 참조클래스처럼 클로저는 참조 타입이기 때문에 강한 순환.. 2018. 12. 30.
사당 iOS 스터디 5주차 - ARC CHAPTER 27 ARC__27.1 ARC란ARC는 더 이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방식으로 동작가비지 컬렉션 기법과의 차이가장 큰 차이는 참조를 계산(count)하는 시점 ARC 참조 카운팅 시점 컴파일 시 장점 컴파일 당시 이미 인스턴스의 해제 시점이 정해져 있어서 인스턴스가 언제 메모리에서 해제될지 예측할 수 있습니다. 컴파일 당시 이미 인스턴스의 해제 시점이 정해져 있어서 메모리 관리를 위한 시스템 자원을 추가할 필요가 없습니다. 단점 ARC의 작동 규칙을 모르고 사용하면 인스턴스가 메모리에서 영원히 해제되지 않을 가능성이 있습니다. 가비지 컬렉션 참조 카운팅 시점 프로그램 동작 중 장점 상호 참조 상황 등의 복잡한 상황에서도 인스턴스를 해제할 수 있는 가능성이 더.. 2018. 8. 17.