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

Loc*_*ike 4 java android garbage-collection

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

我知道Android有Garbage Collector,但是对象仍然引用(保留)其他对象,我的理解是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());
                }
            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*tin 6

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