opengl 프로그래밍을 하고 있습니다.

opengl 특성상 direct buffer를 사용할수 밖에 없는데요.

direct buffer는 자바의 힙영역이 아닌 시스템 영역이고 

따라서 garbage collection이 자동으로 안되는 영역으로 알고 있습니다.

여러개의 오브젝트들을 화면에 띄어야 하는데요.

시스템 메모리도 생각하면서 프로그래밍을 해야할것 같아서

화면에 출력할 필요가 없는 오브젝트의 buffer는 그때그때 해제하고 싶습니다.

direct buffer 메모리 관리를 어떻게 하면 좋을까요?

구글 검색을 해봤는데, 

1. direct buffer도 객체이기 때문에, 그 객체가 garbage collection(GC) 되면, 참조하고 있던 메모리도 해제가 된다.

하지만 자바 힙영역이 부족하지 않은 이상 GC가 되지 않기 때문에 힙영역보다 시스템 메모리가 먼저 다 차버릴경우는 문제가 발생한다.

2. VBO를 사용하면 direct buffer를 사용할 필요가 없다.(이건 제가 VBO가 뭔지 잘 모르기때문에 공부를 좀더 해봐야겠습니다.)

이것 말고는 딱히 건진게 없습니다.

그리고 해당 문서들도 1.5 SDK 버전때 작성된거라서 2.1버전 이후에 이 문제가 어떻게 해결이 되었는지도 잘 모르겠습니다.

이것에 관해서 잘 아시는 분 있으시면 공손히 답변부탁드립니다.