[Memo-Unity] 26. MemoryStructure 메모리 구조

업데이트:

카테고리:

태그: ,


MemoryStructure

MemoryStructure

MemoryStructure








메모리

  • 코드 영역 : 실행할 프로그램의 코드
  • 데이터 영역 : 데이터 영역
  • 힙 영역 : 사용자의 동적 할당
  • 스택 영역 : 지역 변수, 매개 변수

image



스택 메모리

  • 지역변수, 매개변수
  • 값형식(value)
  • c#에서 스택 영역 용량이 작다(1mb?)
  • 0으로 초기화 되는 자료형

메모리의 할당, 해제 : 지역(클래스,함수)가 끝나면 해제된다.
image



힙 데이터

  • 동적으로 관리
  • 참조형식()

스택에는 주소가 힙메모리에는 실제값이
스택 영역 용량이 작다 -> 주소값만(int) -> 실제 데이터(long,~~)는 힙에

image


GC(Garbage Col)

  • 힙 메모리를 관리해줌
  • 많은 가비지를 생성해 프레임 드랍이 발생 -> 관리
  • new로 만드는 자료구조 Dispose()필요


boxing , unboxing

  • 성능에 좋은 역할을 하지 않는다.
  • 계산량이 많아 GC가 자주 일어난다.
  • Arraylist는 boxing,unboxing 이 일어난다
  • GENERIC.LIST (T)는 Boxing이 안일어남
  • Debug.Log 도 매개변수 자료형이 object로 boxing이 일어난다.
  • var, T 를 사용.

image

int i =123;     // a value type  
object o = i;   // boxing  
int j = (int)o; // unboxing  

// X 박싱할 때 INT값도 같이 저장된다.
int i =123;     // a value type  
object o = i;   // boxing  
float j = (float)o; // unboxing  







잡담




[Unity] MemoryStructure TOP


📔

댓글남기기