0

我在定义点击侦听器时填充了getView()一个适配器,这让我想知道:

性能方面,这两种实现之间是否有区别:

单独定义 onClickListener:

View.OnClickListener mClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View view) { //... }
};
mView.setOnClickListener(mClickListener);

将 onClickListener 定义为参数:

mView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) { //... }
});

正如getView()人们经常所说的那样,我的想法是,即使其实现的微小差异也会对应用程序的性能产生很大影响。但我不确定。

那么,关于性能/内存,建议使用以上哪一项?或者他们不是那么重要吗?

4

1 回答 1

1

那么这实际上取决于你有多少 OnClickListeners 作为匿名类。最好实现一个单击侦听器并将其设置为您想要获取单击事件的所有视图,并使用 OnClick(View v) 中的视图 ID 对单击进行排序

public void onClick(View v) {
   switch (v.getId()) {
     case R.id.some_view_id:
        doSomething();
        break;
   }

}
于 2014-10-07T12:08:24.927 回答