Android 引用自身的回调与独立子类的回调
也许是个愚蠢的问题,但我不明白…Android 引用自身的回调与独立子类的回调,android,Android,也许是个愚蠢的问题,但我不明白… 以下两种方法之间有区别吗? 我是说浪费记忆什么的 class A implements Handler.Callback { // is it OK to pass the loopback reference into the Handler in this case? Handler mHandler = new Handler(this); public boolean handleMessage(Message msg) {
以下两种方法之间有区别吗? 我是说浪费记忆什么的
class A implements Handler.Callback {
// is it OK to pass the loopback reference into the Handler in this case?
Handler mHandler = new Handler(this);
public boolean handleMessage(Message msg) {
...
}
}
class B {
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
...
}
};
}
谢谢大家! 我认为这取决于你想要的用途。如果您只有一个按钮并且需要处理它的点击,我将使用一个匿名类(就像您的
类B
)。但是,如果一个视图包含许多按钮或其他东西,您希望为其处理单击事件,我将使用第一个方法,对所有控件使用一个单独的处理程序。这也节省了您为每个控件创建额外对象的时间(编码和内存开销)
我目前正在项目中使用这种方式,让我的活动处理每次单击,然后做进一步的工作:
public class MyActivity extends Activity implements View.OnClickListener {
...
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
// handle button 1
break;
case R.id.button2:
// handle button 2
break;
// ...
}
}
...
}