Oce*_*lue 14 android android-lifecycle
在活动的onDestroy()回调中专门将实例变量设置为null是一个好主意吗?像这样的东西:
@Override
protected void onDestroy() {
super.onDestroy();
mClassVariable1 = null;
mClassVariable2 = null;
mClassVariable3 = null;
}
Run Code Online (Sandbox Code Playgroud)
如果我从Java SE中正确记得,任何被隔离但未连接到正在运行的程序的引用都可以进行垃圾收集.那么这会使上述多余吗?
另一方面,移动设备的生命周期不同,以上是最佳实践吗?
我知道这样做不会有什么坏处,但有时会有一些类变量(对单个UI元素的引用等),所以我真的想知道我自己的理解,真正发生了什么.
提前致谢!
当你说垃圾收集器将获取被隔离的引用时,你说得对.具体而言,将收集未连接到执行线程的任何引用图.因此,没有充分的理由将变量设置为null,我可以看到.代码维护成本远远超过任何优势.
| 归档时间: |
|
| 查看次数: |
3563 次 |
| 最近记录: |