每个按钮的有效性,Android开关或点击监听器

时间:2011-12-07 08:47:00

标签: android performance button

我找不到这个话题,也许有人可以教我一些关于android的有效性,当topis是针对按钮的onclicklistener时。

假设我在页面上有10个按钮(现在只是一个例子) 什么是最好的事情?

  1. 切换按钮ID的开关?
  2. 每个按钮的onClickListener?
  3. 哪种方法越快,为什么? 有什么不同吗?

3 个答案:

答案 0 :(得分:3)

最佳做法是选择第一个选项:切换按钮的ID。

根据我的经验,我建议你分配具有相同值的android:onClick属性,例如:android:onClick =“btnClicker”

现在你必须在activity类中实现相同的方法:

public void btnClicker(View v)
{
   switch(v.getId())
   { 
    case R.id.btn1:
         break;

    case R.id.btn2:
         break;

    case R.id.btn3:
         break;
   }
}

关于第二个选项: 我不喜欢它,因为它增加了代码行数,因为只是认为你有10个按钮,并为每个按钮分配单独的点击监听器。现在将它与上面的第一个选项进行比较,你会意识到它。

所以我建议你选择我在上面的示例中提出的第一个选项,主要原因是它减少了代码行数并提高了代码的可读性。

为什么我在上面建议的第一个选项中有更好的可读性?

因为您知道只需要为每个按钮的代码检查此特定功能,因为所有内容都在函数内部。

答案 1 :(得分:1)

如果有任何显着差异,我会感到惊讶。我会选择#2,因为我认为它会带来更清晰的代码。

答案 2 :(得分:0)

我认为答案1是有效的。 因为创建对象会减慢应用程序的速度。 并且应该考虑手机的RAM限制。