android view繪制流程是什么

小億
86
2023-09-22 11:38:23

Android View 繪制流程如下:

  1. 在 ViewRootImpl 中調(diào)用 performTraversals() 方法,開(kāi)始繪制流程。

  2. 調(diào)用 ViewRootImpl 中的 performMeasure() 方法進(jìn)行測(cè)量操作。測(cè)量過(guò)程中,會(huì)調(diào)用 View 的 onMeasure() 方法,根據(jù) View 的 MeasureSpec(測(cè)量規(guī)格)來(lái)確定 View 的測(cè)量寬高。

  3. 調(diào)用 ViewRootImpl 中的 performLayout() 方法進(jìn)行布局操作。布局過(guò)程中,會(huì)調(diào)用 View 的 onLayout() 方法,根據(jù)測(cè)量寬高和父容器的布局規(guī)則,確定 View 的位置。

  4. 調(diào)用 ViewRootImpl 中的 performDraw() 方法進(jìn)行繪制操作。繪制過(guò)程中,會(huì)調(diào)用 View 的 onDraw() 方法,繪制 View 的內(nèi)容。

  5. 繪制完成后,系統(tǒng)會(huì)將繪制結(jié)果顯示到屏幕上。

以上就是 Android View 的繪制流程。需要注意的是,如果 View 的內(nèi)容發(fā)生了變化,或者需要強(qiáng)制更新界面,則可以調(diào)用 View 的 invalidate() 方法,觸發(fā)重新繪制流程。

0