D/---------------------- grandparent --------------------- (15832): onmeasure
D/---------------------- parent --------------------- (15832): onmeasure
D/---------------------- child --------------------- (15832): onmeasure
D/---------------------- grandparent --------------------- (15832): onlayout
D/---------------------- parent --------------------- (15832): onlayout
D/---------------------- child --------------------- (15832): onlayout
D/---------------------- grandparent --------------------- (15832): onmeasure
D/---------------------- parent --------------------- (15832): onmeasure
D/---------------------- child --------------------- (15832): onmeasure
D/---------------------- grandparent --------------------- (15832): onlayout
D/---------------------- parent --------------------- (15832): onlayout
D/---------------------- child --------------------- (15832): onlayout
D/---------------------- grandparent --------------------- (15832): ondraw
D/---------------------- parent --------------------- (15832): ondraw
D/---------------------- child --------------------- (15832): ondraw
D/---------------------- grandparent --------------------- (15832): onmeasure
D/---------------------- parent --------------------- (15832): onmeasure
D/---------------------- child --------------------- (15832): onmeasure
D/---------------------- grandparent --------------------- (15832): onlayout
D/---------------------- parent --------------------- (15832): onlayout
D/---------------------- child --------------------- (15832): onlayout
From the parent View to the Child view, onmeasure is measured first, then onlayout is layout, and then ondraw is drawn.