ARC란?
2022.02.22 - [iOS/iOS 면접 질문] - ARC [ Automatic Reference Counting ]
GC란?
- Garbage Collection
- 메모리 관리를 Garbage Collector가 프로그램 실행 중에 동적으로 감시하고 있다가,
더 이상 사용할 필요가 없다고 여겨지는 것을 메모리에서 삭제하는 것.
ARC와 GC의 차이점
메모리 관리 기법 | ARC | GC |
참조 카운팅 시점 | 컴파일 시 | 프로그램 동작 중 |
장점 | - 인스턴스가 언제 메모리에서 해제될지 예측 가능 - 메모리 관리를 위한 시스템 자원을 추가할 필요가 없음 |
- 상호 참조 상황, 등의 복잡한 상황에서도 인스턴스를 해제할 수 있는 가능성이 더 높음 - 특별히 규칙에 신경 쓸 필요가 없음 |
단점 | - ARC의 작동 규칙을 모르고 사용하면 인스턴스가 메모리에 영원히 해제되지 않을 가능성이 있음 | - 한정적인 자원 환경에서는 성능 저하가 발생할 수 있음 - 명확한 규칙이 없으므로 인스턴스가 언제 메모리에 해제될지 예측하기 어려움 |
내용출처
https://sihyungyou.github.io/iOS-GC-vs-ARC/
https://ugly-developer.tistory.com/5
'iOS > iOS' 카테고리의 다른 글
참조의 종류 [Strong, Weak, Unowned] (0) | 2022.06.07 |
---|---|
Stack View 스택뷰 (이론) (0) | 2022.06.04 |
Frame과 Bounds의 차이는 무엇인가? (0) | 2022.06.02 |
function / closure 각각 value type 인가 reference type 인가? (0) | 2022.05.31 |
ARC에 대한 질문 (0) | 2022.05.29 |
댓글