title: Why ButterKnife uses a DebouncingOnClickListener for @OnClick methods?
body: <p>I was looking at the generated code of <a href="https://github.com/JakeWharton/butterknife" rel="noreferrer">ButterKnife</a>, and noticed that for <code>@OnClick</code> annotations it is using a <code>DebouncingOnClickListener</code>, implemented by the library.</p>
  
  <p>What the <code>DebouncingOnClickListener</code> does it to avoid more than one click on <strong>any</strong> element using that listener on the same frame (to achieve this they use a static flag). You can see the implementation <a href="https://github.com/JakeWharton/butterknife/blob/master/butterknife/src/main/java/butterknife/internal/DebouncingOnClickListener.java" rel="noreferrer">here</a>.</p>
  
  <p>I have tried to find an explanation on why they decided to use this for every on click event managed by the library, but could not find any.</p>
  
  <p>So, why they use that?
  Why have they decided that every user of ButterKnife need this?
  Shouldn't be the user who decides to use that or not?
  Why couple the view binding help it provides with this "feature"?
  What happens if I want to receive more than one click on the same frame? I couldn't use ButterKnife for click events.</p>
  
  <p>I don't pretend to be offensive, just want an explanation, maybe I am missing something.</p>