我在定义点击监听器时填充了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()
,但我的实现中即使很小的差异也会对应用程序的性能产生很大影响。但我不确定。
那么,关于性能/内存推荐以上哪一项?或者他们不是很重要吗?
答案 0 :(得分:1)
那实际上取决于你有多少OnClickListener作为匿名类。 最好是实现一个点击监听器,并将其设置为您想要获取点击事件的所有视图,并使用OnClick(View v)中的视图ID排序点击次数
public void onClick(View v) {
switch (v.getId()) {
case R.id.some_view_id:
doSomething();
break;
}
}