'리테인 카운트'에 해당되는 글 1건

  1. 2014.11.07 [내가쓰는강좌 1] Objective-C, 메모리 관리
dngchn's [iOS]2014. 11. 7. 18:18

일반적인 언어들의 메모리 관리 타입 3가지

1. C/C++

포인터 개념으로 모든 메모리 관리(할당 및 회수)를 직접 한다(코드레벨에서 관리 함수를 제공하여 그 권한과 책임을 개발자에게 줌).

장점: 세부적인 메모리 관리가 가능

단점: 잘 못하면 메모리 누수 등 문제 발생 함. 개발자 부담이 큼.

 

2. Java/C#

가비지 콜렉터 개념으로 별도의 메모리 관리 함수를 제공하는 것이 아니라 시스템 상에서 사용 안하는 메모리를 자동으로 제거해 주는 개념임. 개발자가 할일은 없음.

장점: 개발자가 메모리 관리에 신경 쓰지 않아도 됨.

단점: 모바일 환경에서는 성능상 좋을게 없음(느림).

 

3. Objective-C

Retain Count 개념으로 언어적으로 retain count를 관리하는 메서드를 제공하여 사용 안하는 메모리가 일종의 가비지 컬렉터에 의해 회수 되는 개념임.

장단점: 1번과 2번의 중간적인 개념이어서, 개발자의 부담은 1번 보다는 줄지만, 객체 사용 후 뒤처리를 해줘야 해서 2번 보다는 신경쓸 일은 있음. 2번 보다는 성능상 좋음.

Posted by dngchn