requestLayout 和 invalidate 都會(huì)觸發(fā)整個(gè)繪制流程。但是在 measure 和 layout 過(guò)程中,只會(huì)對(duì) flag 設(shè)置為 FORCE_LAYOUT 的情況進(jìn)行重新測(cè)量和布局,而 draw 只會(huì)重繪 flag 為 dirty 的區(qū)域。
requestLayout 是用來(lái)設(shè)置 FORCE_LAYOUT 標(biāo)志,invalidate 用來(lái)設(shè)置 dirty 標(biāo)志。所以 requestLayout 只會(huì)觸發(fā) measure 和 layout,invalidate 只會(huì)觸發(fā) draw。