나는 Java에서 초보자이고 영어로 충분하지 않아서, 모두가 나를 용서할 수 있기를 바랍니다.Java : 완전히 삭제 객체
질문 1 : 나는 ArrayList (J2SE) 또는 Vector (J2ME)를 가지고 있는데, 나는 클래스를 가지고있다. (예 : Bullet), 내가 불을 땐 그 클래스의 인스턴스를 목록에 추가하고 총알이 명중 한 후에 목표물, 나는 그들을 파괴하고 목록에서 제거해야합니다. 나는 물어보고 싶다. 내가 제거해야 할 객체를 완전히 삭제하는 방법 : 그 객체가 가져온 모든 메모리를 비우는 것 (C++의 delete 포인터와 동일). 일반적인 객체의 경우 "= null"을 사용할 수 있지만이 객체는 List 내부에 있으므로 이와 같이 사용할 수 없습니다. 나는 System.gc()를 사용하려고 시도하지만 나쁜 생각이다. gc()를 사용하지 않는 것보다 프로그램이 느려지고 메모리가 증가한다. List.remove (bullet_index) 만 사용하면 메모리가 조금 증가하지만 감소하지는 않습니다.
질문 2 : "총알 수 제한 없음"으로 총을 맞고 메모리가있는 다른 아이디어가 있습니까?
나는 간단한 2D 샷팅 게임을 만들고 있습니다.
개체를 재사용 할 경우 "개체 풀"이라는 용어를 연구하고 싶다고 생각하면됩니다. 특히 탄환과 같은 임시 물건에 특히 좋습니다. –