【发布时间】:2015-04-05 17:15:30
【问题描述】:
我还没有完全弄清楚在 android 中设置侦听器的首选方法。我倾向于这样设置我的听众:
(第一种方式)
myButton.setOnClickListener(this);
相对于
(第二种方式)
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//handle clicks
}
});
但是我最近遇到了this 问题,其中一位 cmets 说:
...使用较小的类作为侦听器接口与传递 整个适配器充当接口。
据我了解,内部类对外部类有隐式引用,因此根据您设置侦听器的方式,应该不会影响传入/引用的对象。
有人能澄清一下哪种方法更好吗?为什么?使用this(第一种方式)是否比使用匿名内部类(第二种方式)更昂贵?
【问题讨论】:
-
我从未注意到任何形式的差异。如果需要向多个视图添加侦听器,我选择第一种方法;否则第二次。
-
选项三:使用(非匿名)内部类。
-
我不明白为什么@323go、eckes、Tom、Niek Harman、klossus 投票接近于固执己见的问题?我不是在征求意见。我只是想知道哪个更贵,为什么就性能而言
标签: java android performance listener