静态设置onClickListener,内存泄漏?

时间:2011-07-19 04:24:07

标签: android memory-leaks static listener android-context

我正在考虑制作一个可重复使用的功能,使视图可以点击以解除 - 在这个示例中,RelativeLayoutAO是背景。

    final RelativeLayout rlAO = (RelativeLayout) findViewById(R.id.RelativeLayoutAO);
    Utility.setOnClickFinish(rlAO);

然后在Utility类中:

public class Utility {
    public static void setOnClickFinish(View view) {
        view.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View clickedView) {
            ((Activity) clickedView.getContext()).finish();
        }
    });
}
}

这会导致内存泄漏吗?

1 个答案:

答案 0 :(得分:2)

不,这不应该导致内存泄漏。

根据您问题的标题,我认为您可能会误解静态关键字的含义。你没有“静态地”设置任何东西。 setOnClickFinish()标记为static的事实只是意味着它是一个类方法。