Unity_개발일지_44

홍신영·2024년 12월 20일
0

Unity

목록 보기
46/62

오늘은 스택과 힙의 차이에 대해 공부해보겠다.

스택

스택은 정적 메모리가 저장되는 영역이다.
컴파일 시에 메모리 크기가 결정되고, 함수 호출 시에 자동으로 할당 및 해제되는 영역이다.

힙은 동적 메모리가 저장되는 영역이다.
개발자가 직접 메모리 할당 및 해제를 관리해야 한다. 메모리 누수 문제가 발생할 수 있으므로 주의가 필요하다.

씬 로드 매니저

씬 로드 매니저는 비동기로 만들어준다. 왜냐하면 씬을 이동하다 보면 방대한 양으로 로딩이 길어질수도 있는데, 이 때 씬이 넘어가는데 씬 로드 다음에 시작될 함수들이 실행되지 못하도록 기다려주는 역할을 해주는 것이다.
씬이 로드가 끝나면 다음 작업을 해줄 수 있도록.
매개변수로 씬이름, 액션 콜백, 씬 로드모드를 받아준다.
콜백은 씬이 로드되면 바로 해줄 작업들이 필요하다면 넣어주면 된다.
씬모드에서 single이 있고 additive가 있는데. additive의 경우 언로드 작업이 필요하다. 마찬가지로 unloadsceneasync를 사용해서 제거 해주면 된다.

UI매니저

캔버스를 동적으로 생성해주기 위해 만들어진 매니저이다.
Scenebase를 findfirstobjectbytype으로 있는지 찾아주고 있다면 transform을 반환받아 캔버스를 만들고 부모로 만들어준다. 이러면 우리가 프리팹으로 만든 ui를 로드해서 캔버스의 자식으로 만들어주게 된다.

이 ui들을 딕셔너리로 관리하는데 removenull함수를 통해 null값들을 제거해주는 작업을 해준다. 이는 딕셔너리의 키 값을 통해 uiname으로 키 값을 받고 이것이 있다면 딕셔너리에 넣어준다. 그리고 널 체크를 하고 삭제하는 식으로.
그리고 show, 로드 등을 통해 캔버스 생성 값 설정 등을 해준다.

profile
게임 클라이언트 개발자

0개의 댓글