일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 유한상태머신
- unity
- Generic
- 인터페이스
- 람다식
- LINQ
- 프로그래머스
- delegate
- 효과음
- 배열
- skybox
- 스택
- 메서드
- invokec#events
- 직렬화
- 코루틴
- BGM
- InputManager
- soundmanager
- 비선형자료구조
- 자료구조
- 유니티
- ObjectPool
- inputsystem
- c#
- script
- 스파르타내일배움캠프
- 장애물달리기
- FSM
- UI
- Today
- Total
목록ObjectPool (2)
Unity 개발일지
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/LVlv3/btsIqQt918c/e2Gpd4Jigb41V8Nwd56C7K/img.png)
[확인 문제] 1. 위의 코드가 문제가 되는 이유를 메모리 관점에서 설명해주세요.더보기위 코드에서 LogMessages는 문자열 연결 연산('+')을 통해 로그 메시지르 추가한다.String은 불변 객체이므로, 매번 새로운 문자열 객체가 생성되고, 이전 문자열이 가비지 컬렉션 대상이 된다.10,000번의 반복문이 실행되면서 많은 양의 메모리 할당과 해제가 반복적으로 발생하여 성능 저하와 메모리 낭비가 발생한다. 2. 아래와 같이 string이 아닌 StringBuilder가 권장되는 이유는 무엇일까요?더보기StringBuilder는 가변 객체로, 내부 버퍼를 사용하여 문자열을 수정한다.문자열 연결 시 새로운 객체를 생성하지 않고, 기존 버퍼를 재사용하므로 메모리 사용이 효율적이고, 성능이 향상된다. [..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ypXt7/btsHwA6HPNJ/sv7HieEayJCHkexXwk4D21/img.png)
유니티화면에서 등록해줄 GameObject인 prefab을 선언합니다.List를 이용해 pool을 생성합니다.poolSize는 300으로 설정했습니다. for문을 이용하여 poolSize만큼 prefab을 Initiate하고, 비활성화한 후 pool에 등록합니다. GameObject를 반환하는 Get함수를 만들어주었습니다.foreach문을 이용 List pool에접근해서 변수 Gameobject obj에 할당하고,obj가 Hierachy창에 없으면 obj를 활성화하고, obj를 반환(출력)합니다. Release함수는 Gameobject obj를 변수로 받으며 obj를 비활성화해줍니다. Get함수화 Set함수를 이용하여 풀에서 가져다쓰고 반납하기를 하면 됩니다.[foreach문]foreach 문은 C#에..