Android中的这个构造有问题吗?
class A extends Activity {
private Object myObject = new Object();
@Override
protected void onCreate(Bundle savedInstanceState) {
//myObject = new Object();
}
}
因为在稍后的某个时间点我得到(有时,还不能重现)异常,因为 myObject 为空。不知道是不是因为要在onCreate中初始化。
编辑:附加细节:
myObject 的实际类是
List<Object>
(其中 Object 是特定于域的类型)在活动的稍后时间,我将 myObject 存储为“参数传递器”类的静态字段并启动其他活动(因为我避免实现 Parcelable。如果这是好的或坏的做法,不应该在这里讨论,除非那导致我的错误)。在另一个活动中,我选择了 myObject。那里(有时)为空。
编辑 2:如果我将对该对象的引用存储为我的参数传递器类(一个独立的专用类)的静态字段,我不明白为什么该对象变为空。这就是垃圾收集的工作原理,对,它只是在不再引用对象时删除。因此,由于我有一个静态引用,因此不应删除此对象。根据这个想法,如果他们是正确的,问题应该在其他地方。