유니티에서 Instantiate , Destory는 가비지 컬랙터를 소환한다. 가비지 컬랙터란 자동 메모리 청소라고 생각하면 된다.
쓰이지 않거나 버려져서 메모리를 차지하고 있는 영역을 비워주어 공간을 확보한다. 하지만 가비지 컬랙터가 실행되는 순간에 cpu의 점유율이 높아지고 게임 환경에 지장을 준다.
따라서 효율적으로 사용하기 위해 가비지 컬렉션을 회피하여야 하는데 좋은 수단 중 하나가 오브젝트 풀을 이용하여 자원들을 관리하는 것 특히 같은 오브젝트를 여러번 사용하는 탄환 발사 등이 좋은 예시이다. •요구사항 1.오브젝트들이 필요한 씬에 공급 가능해야함 -> 싱글톤 패턴 이용 2.풀에서 꺼내는 기능(pop) 3.풀에 다시 반환하는 기능(push) 4.풀에 적재된 오브젝트가 없을 때는 새로 생성하여 꺼.....
원문 링크 : Unity 오브젝트 풀로 탄환 관리 최적화하기