[Unity] 오브젝트 생성/삭제시 Editor에서 메모리 해제가 잘 안된다면

Unity editor에서 프로젝트를 실행하고, Profiler를 이용하여 메모리 상태를 확인하는 경우 게임오브젝트를 생성후 삭제했음에도 불구하고, 여전히 메모리에 레퍼런스가 잡혀 있는 경우가 있다.  디바이스에서는 발생하지 않는 경우라서 editor 내부에서 캐시를 하는 경우로 보이지만, 매번 디바이스에서 프로파일링하여 확인하는 것도 여간 번거로운 일이 아니다.  시간을 줄이고 생산성을 높이자면 editor에서도 어느 정도 정확한 메모리 정보가 필요하다.  예를 들어 하나의 게임오브젝트를 … Read more[Unity] 오브젝트 생성/삭제시 Editor에서 메모리 해제가 잘 안된다면

[Android] 롤리팝 크래시 원인 / 메모리 관리 방식

부제: Android Lollipop Memory Bug 게임 개발을 하다보면 보통 인 게임과 아웃 게임으로 나뉘어서 리소스를 제어할 때가 많다. 아웃 게임이라고 하면 게임 코어요소를 제외한 로비나 상점, 인벤토리 같은 것을 말하고, 인 게임은 그 외에 게임의 코어한 요소(전투같은..)를 다루게 된다.  그래서 가끔 아웃 게임의 리소스를 메모리에 잔뜩 들고 있는 상태에서 인 게임에 진입하는 경우 앱이 내려가는 경우가 … Read more[Android] 롤리팝 크래시 원인 / 메모리 관리 방식

[iOS] imageIO_PNG_Data가 메모리에 상주하고 있는 이유

iOS 12버젼이 나오면서 메모리가 늘어났다는 얘기가 나와서 프로파일링을 해보았다.  여기서는 메모리가 OS업그레이드에 따라 올랐다는 내용을 다루려는 것은 아니고, 프로파일링하는 도중에 만난  imageIO_PNG_Data에 대한 이야기이다. 사용 중인 Unity버젼은 2017.4.3f1이고, 이후 버젼에 대해서는 테스트해보지 않았다. 아래의 그림은 XCode의 instrument (Allocation) 툴을 실행하여 메모리가 얼마나 사용중인지 확인중인 화면이다. (XCode의 메뉴에서 Open Developer Tool > Instrument로 실행할 수 있다.) 위 … Read more[iOS] imageIO_PNG_Data가 메모리에 상주하고 있는 이유