Android View的繪制流程可以簡單概括為以下幾個步驟:
測量(Measure):在View的measure()方法中,系統會根據View的布局參數以及父容器的要求來計算出View的測量寬高。
布局(Layout):在View的layout()方法中,系統會根據View的布局參數以及父容器的要求來確定View在父容器中的位置。
繪制(Draw):在View的draw()方法中,系統會通過硬件加速或者軟件繪制來將View的內容繪制到屏幕上。
觸摸事件分發:在View的dispatchTouchEvent()方法中,系統會將觸摸事件從父容器傳遞到目標View,并依次調用View的onTouchEvent()方法來處理觸摸事件。
重繪(Invalidation):在View的invalidate()方法中,系統會將View標記為“需要重繪”,在下一次繪制周期中重新調用View的draw()方法來進行重繪。
需要注意的是,以上流程并不是一次性完成的,而是在需要的時候會被觸發。例如,當View顯示在屏幕上時會觸發測量、布局和繪制流程;當用戶觸摸View時會觸發觸摸事件分發流程;當調用invalidate()方法時會觸發重繪流程。