MotionEvent.CANCEL은 어떨때 발생하는지 자세히 알고 싶습니다.

Button을 눌렀을 때 MotionEvent.ACTION_DOWN -> 드래그 하면 MotionEvent.ACTION_MOVE -> 손을 떼면 MotionEvent.ACTION_UP 이 발생하면서 드래그 과정이 종료 되는데

이때 터치 한 부분이 Button 영역을 벗어나면 MotionEvent.ACTION_CANCEL이 발생한다고 이해를 했는데 제가 제대로 이해를 하고 있는건가요?

제가 잘못 알고 있다면 ACTION_CANCEL 이 어떤 행동을 했을때 발생하는지 알려주셨으면 합니다.