0
我有下面的代码片段:Android的垃圾收集对象
ArrayList<GameObject> gameObjectList = new ArrayList<GameObject>();
public void init(){
for(int i=0; i<10; i++) {
loadedOjectList.add(new GameObject());
}
}
现在说我要离开这个活动也许加载在我的游戏一个新的水平。编写loadedObjectList.clear()
是否足以使10个对象有资格进行垃圾回收?我有类似的东西,每当我通过关卡进展时,我的游戏就会开始放慢速度,因为我猜测对象仍然存在。有任何想法吗?
理论上它应该记住容量不会改变,从而使后备阵列的大小保持不变。如果需要,GC也会启动。 – GiantTree
ArrayList被清除之后,如果我第二次调用init(),那么add()方法会将对象放在索引0到9还是将索引10放到19? –
大小将被报告为0,并且所有新对象将从索引开始的0开始添加。只是没有删除支持数组,只是为空。 – GiantTree