私はJavaの初心者で、英語が十分ではありません。皆さんが私を許してくれることを願っています。
質問 1: ArrayList(J2SE) または Vector(J2ME) があり、クラス (例: Bullet) があります。発砲すると、そのクラスのインスタンスがリストに追加され、弾丸がターゲットに命中した後、それらを破棄してリストから削除します。質問したい: 削除する必要があるオブジェクトを完全に削除する方法、つまり、そのオブジェクトが使用していたすべてのメモリを解放します (C++ の削除ポインターと同じ)。通常のオブジェクトでは「= null」が使えますが、ここではこのオブジェクトはリスト内にあり、そのような使い方はできません。System.gc() を使用しようとしましたが、それは悪い考えです。gc() を使用しない場合よりもプログラムが遅くなり、メモリが増加します。List.remove(bullet_index) のみを使用すると、メモリは少し増加しますが、減少しません。
質問 2: 「弾数無制限」で記憶に安全な銃のショットを作成する他のアイデアがあれば教えてください。
シンプルな2Dシューティングゲームを作っています