我目前正在使用JavaFX进行3D应用程序(一个简单的游戏)。我正在显示一个由玩家可以在其中运行的块组成的地图。问题是,当我返回主菜单时,内存分配与游戏本身一样多(约500MB)。因此,似乎Java不会删除未使用的引用。当我从主菜单重新启动游戏时,它会升至1GB,依此类推。我以为垃圾收集器会处理那些未使用的引用? 我认为可能是某些对象相互引用(通过Observer / Observable),因此我删除了所有对象的所有观察者,并将所有对象设置为" null"。结果相同。我做错了什么?