requestLayout 和 invalidate 都會觸發(fā)整個繪制流程谬返。但是在 measure 和 layout 過程中,只會對 flag 設(shè)置為 FORCE_LAYOUT 的情況進(jìn)行重新測量和布局,而 draw 只會重繪 flag 為 dirty 的區(qū)域纲菌。
requestLayout 是用來設(shè)置 FORCE_LAYOUT 標(biāo)志钱慢,invalidate 用來設(shè)置 dirty 標(biāo)志。所以 requestLayout 只會觸發(fā) measure 和 layout育灸,invalidate 只會觸發(fā) draw腻窒。