我正在创建一个类似“陨石”的游戏,但是还有一些额外的功能。
目前,我有一个ArrayList<Asteroid>
,用于保存屏幕上的所有陨石。每个陨石都与一个Vector
相关联,并扩展了我的通用GameObject
类,该类处理绘图、更新和其他每个游戏对象共有的常见事物。
话虽如此,每次我摧毁一个陨石时,我会创建一个新的Asteroid
对象并将其添加到ArrayList<Asteroid>
中……这时会出现明显的延迟,因为我还会创建爆炸粒子,我认为这是垃圾回收机制(GC)造成的。
我的想法是,不要动态地创建新对象,而是预先创建一个对象池,并重复使用它们。
这是否是正确的想法?另外,最有组织和高效的方法是什么?
如果有其他想法,也请告诉我。我只是想减少创建所有这些对象所造成的明显延迟。谢谢!