rizontalEdges) {
// Step 3, draw the content
if (!dirtyOpaque) onDraw(canvas);
// Step 4, draw the children
dispatchDraw(canvas);
// Step 6, draw decorations (scrollbars)
onDrawScrollBars(canvas);
// we're done...
return;
}
注释写的很明白, 在step 1 中绘制背景, 在step 3 中调用自己的ondraw(); 在step 4 中 调用dispatchDraw() 绘制子view 。
最后调用sWindowSession.finishDrawing() 估计是通知底层完成吧,不太懂。//TODO
try {
sWindowSession.finishDrawing(mWindow);
} catch (RemoteException e) {
}
draw的部分到此完成
至此,一次完整的绘制流程就走完了,剩下的就是一遍遍的重复这个过程啦。回调过程参见前文《深入分析UI 上层事件处理核心机制 Choreographer》
尾巴
尾巴,接下来过一下事件的流程吧。