android 垃圾回收 对象为null,在Java中将对象分配为null会影响垃圾回收吗?

通常,没有。

但像所有的东西:这取决于。 Java中的GC这些天是非常好的,一切都应该清除后不久它不再可达。这是在离开局部变量的方法之后,以及当字段不再引用类实例时。

你只需要显式null,如果你知道它会保持引用否则。例如,一个围绕着的数组。当不再需要数组的各个元素时,您可能希望将其置零。

例如,这段代码从ArrayList:

public E remove(int index) {

RangeCheck(index);

modCount++;

E oldValue = (E) elementData[index];

int numMoved = size - index - 1;

if (numMoved > 0)

System.arraycopy(elementData, index+1, elementData, index,

numMoved);

elementData[--size] = null; // Let gc do its work

return oldValue;

}

此外,显式置零对象不会导致收集对象,只要它只是在没有引用保留的情况下自然超出范围。

都:

void foo() {

Object o = new Object();

/// do stuff with o

}

和:

void foo() {

Object o = new Object();

/// do stuff with o

o = null;

}

在功能上等同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值