java – 如何提高效率?

前端之家收集整理的这篇文章主要介绍了java – 如何提高效率?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个小行星克隆,但还有一些铃声和口哨声.

截至目前,我有一个ArrayList< Asteroid>在屏幕上保存所有小行星.每个都有一个与之关联的Vector,并扩展了我的genereic GameObject类,它处理绘图和更新以及每个游戏对象共有的其他常见事物.

据说,每当我摧毁一颗小行星时,我都会创建一个新的Asteroid对象并将其添加到ArrayList< Asteroid> …当发生这种情况时会出现明显的延迟,因为我还会创建爆炸粒子,我认为这是GC.

我的想法是不要动态创建新对象,我可以预先创建它们的池并重新使用它们.

这是正确的想法吗?那么最有组织,最有效的方法是什么?

任何其他想法也会很棒.只是试图减少所有这些对象的创建,因为它肯定会导致明显的滞后.谢谢!

解决方法

创建一个对象池并重用它们是个好主意.另外我认为你可以从ArrayList切换到Vector,因为Vector被优化用于随机索引,你在使用池时会做很多事情.

既然你说每次摧毁一颗小行星,你都会添加一颗新的小行星,看起来你使用了恒定数量的小行星.因此,您可以创建具有恒定数量成员的池.

猜你在找的Java相关文章