java – 如何提高效率?
发布时间:2020-12-14 23:56:44 所属栏目:Java 来源:网络整理
导读:我正在创建一个小行星克隆,但还有一些铃声和口哨声. 截至目前,我有一个ArrayList Asteroid在屏幕上保存所有小行星.每个都有一个与之关联的Vector,并扩展了我的genereic GameObject类,它处理绘图和更新以及每个游戏对象共有的其他常见事物. 据说,每当我摧毁一
我正在创建一个小行星克隆,但还有一些铃声和口哨声.
截至目前,我有一个ArrayList< Asteroid>在屏幕上保存所有小行星.每个都有一个与之关联的Vector,并扩展了我的genereic GameObject类,它处理绘图和更新以及每个游戏对象共有的其他常见事物. 据说,每当我摧毁一颗小行星时,我都会创建一个新的Asteroid对象并将其添加到ArrayList< Asteroid> …当发生这种情况时会出现明显的延迟,因为我还会创建爆炸粒子,我认为这是GC. 我的想法是不要动态创建新对象,我可以预先创建它们的池并重新使用它们. 这是正确的想法吗?那么最有组织,最有效的方法是什么? 任何其他想法也会很棒.只是试图减少所有这些对象的创建,因为它肯定会导致明显的滞后.谢谢! 解决方法
创建一个对象池并重用它们是个好主意.另外我认为你可以从ArrayList切换到Vector,因为Vector被优化用于随机索引,你在使用池时会做很多事情.
既然你说每次摧毁一颗小行星,你都会添加一颗新的小行星,看起来你使用了恒定数量的小行星.因此,您可以创建具有恒定数量成员的池. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |