我是否需要在onDestroy期间从视图中释放View.OnClickListener?

时间:2017-01-10 23:08:39

标签: android android-view

我有一个包含100个碎片的大型项目。他们几乎都遵循我将描述的模式,我的问题将随之而来。

public class MyFragment extends Fragment implements View.OnClickListener {

    public void onDestroy(...) {
    }

    public void onCreateView(...) {
        ...
        root.findViewById(R.id.some_button).setOnClickListener(this);
        return root;
    }

    public void onClick(View v) { ... }
}

我是否需要从onDestroy中的片段中释放侦听器?这是内存泄漏还是会导致任何问题?清理它们是否被视为良好做法?如果可能的话,解释原因?

1 个答案:

答案 0 :(得分:5)

不,您不必在onDestroy事件中释放onClickListener。即使片段是监听器,垃圾收集器也足够智能,甚至可以解析循环引用。只要两者都可以进行垃圾收集,就不会有问题。