在活动的onDestroy()回调中将实例变量专门设置为null是否是一个好主意?事情是这样的:onDestroy() - 设置或不设置实例变量为空?
@Override
protected void onDestroy() {
super.onDestroy();
mClassVariable1 = null;
mClassVariable2 = null;
mClassVariable3 = null;
}
如果我没有记错从Java SE,被隔离&没有连接到正在运行的程序&可以被垃圾收集反正任何引用。那么这是否会使上述多余?
另一方面,移动设备的生命周期不同,以上是最佳做法吗?
我知道不会伤害这样做,但有时候会有一些类变量(引用个别的UI元素等),所以我很想知道我自己的理解,究竟发生了什么。
提前致谢!
问题:虽然在退出活动或旋转设备时调用OnDestroy(),但该类是否仍保持实例化?如果是这样,否则将变量置零是不危险的。 – Salsero69 2011-04-07 14:51:08
@ Salsero69:一个很好的问题。我不确定,希望这里的答案能够回答它。 – OceanBlue 2011-04-07 14:57:27
我也面临同样的问题,希望有人给予更多的解释。我还将实例变量null置于摧毁中,但不确定它是否正常工作。 – bhavikkumar 2016-03-12 12:01:59