안드로이드는 UI 그릴 때

layout -> Measurement -> Arrangement -> draw

순으로 그립니다.

requestLayout() 은 함수명대로 layout을 하도록 요청하는 거고.
invalidate() 는 화면이 유효하지 않게 되었으니가 다시 그리라는 것입니다.

[출처 : requestLayout() 와 invalidate()  차이점 답변 댓글]