未处理的内存泄漏的可能性

时间:2013-07-16 19:00:07

标签: java android garbage-collection

首先,我来自iOS环境,所以这就是为什么这个问题可能很明显的原因。

我知道Android有垃圾收集器,但是对象仍然引用(保留)其他对象,我的理解是GC只会在没有引用的情况下删除对象(可能我在这一点上错了)。看看这段代码:

private void addDefaultTextWatcher(final EditText editText) {
        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }

            @Override
            public void afterTextChanged(Editable s) {
                value = s.toString();
                if (getOnValidate() != null) {
                    getOnValidate().validate(editText, s.toString());
                }
            }
        });
    }

editText引用了TextWatcher匿名类,该类也引用了editText。垃圾收集者会为我照顾这个吗?如果不是......建议的方法是什么?

1 个答案:

答案 0 :(得分:6)

Java垃圾收集器非常智能,可以识别循环引用。你什么都不做。