1
我正在为android平台编写游戏。我在ConcurrentHashMap中有子弹,并在检查冲突。所有工作都很好,但GC每隔3-5秒运行一次,当使用Allocation Tracker进行检查时,有很多分配(其中90%),每个分配大小为36,位于java.util.concurrent.ConcurrentHashMap $ ValueIterator
并发是关键,因为许多事情可能发生在子弹和正常arraylist投掷并发异常,所以我已经切换到ConcurrentHashMap。我如何优化它的速度和GC?
for (IWeaponBullet xbullet : PlayerSystem.aEnemiesBulletsArray.values()) {
//checking
}
恐怕不是,我正在检查每一帧与另一个元素发生冲突,有很多对象可以在一帧中修改这个散列表; / –