Android 为侦听器创建单独的类
为监听器创建单独的类有什么好处?或者有什么好处?下面哪段代码更有效?为什么?我应该什么时候创建单独的类 TextWatcher的单独类Android 为侦听器创建单独的类,android,class,listener,textwatcher,Android,Class,Listener,Textwatcher,为监听器创建单独的类有什么好处?或者有什么好处?下面哪段代码更有效?为什么?我应该什么时候创建单独的类 TextWatcher的单独类 mEditText.addTextChangedListener(mNumberWatcher); TextWatcher mNumberWatcher = new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence,
mEditText.addTextChangedListener(mNumberWatcher);
TextWatcher mNumberWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
}
};
没有单独的类别
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
}
});
当listener需要在我们的代码中多次使用同一个listener时,您应该为它使用单独的类,在许多类中。您应该创建一个单独的类,或者创建一个适合您的设计模式的内部静态类。正常的内部类或
匿名
实例化可能会导致内存泄漏,因为它们持有主类的引用,并且可能不允许GC
收集它,您应该避免使用它们 使用分离类可以提高代码的可读性,也可以将该实例用于其他侦听器。@Virgoir如果我没有多次使用侦听器代码,那么我应该使用分离类吗?它会影响性能吗?不,它没有任何性能泄漏。@Virgoir,如果我没有创建单独的类,有什么缺点吗?如果我没有多次使用listener,那么我应该使用单独的类吗?它会影响性能吗?如果你没有多次使用它,那么就不需要创建单独的类。它不会有性能问题。