1

当超类为空时,垃圾收集器会收集子类的成员变量吗?如果我们谈论两个线程,一个运行超类而第二个运行子类,答案是否会有所不同?

至于 Android,如果 AsyncTask 完成并且我从我的活动中删除它的引用,那会级联到清理 AsyncTask 中的所有成员变量,还是我必须手动执行此操作?

最后,我可以假设 AsyncTask 线程onPostExecute在 3 之前的 API 执行后或被取消后关闭并删除吗?

在此先感谢,干杯。

代码:

public class class1 {
    public class class2 extends AsyncTask<void, void, void>{
        Object object;

        class2(){
            object = new Object();
        }
    }
    class2 _class2;

    class1(){
        _class2 = new class2();
    }
}

然后我在某处声明一个类型的变量class1 _class1 = new class1(),然后在执行它并完成它之后,我设置它_class1 = null会自动删除成员的引用object并由 GC 收集它吗?

4

0 回答 0