1. ViewRootImpl :doTraversal()
void doTraversal() {
if (mTraversalScheduled) {
mTraversalScheduled = false;
mHandler.getLooper().removeSyncBarrier(mTraversalBarrier);
if (mProfile) {
Debug.startMethodTracing("ViewAncestor");
}
Trace.traceBegin(Trace.TRACE_TAG_VIEW, "performTraversals");
try {
performTraversals();
} finally {
Trace.traceEnd(Trace.TRACE_TAG_VIEW);
}
if (mProfile) {
Debug.stopMethodTracing();
mProfile = false;
}
}
}2. ViewRootImpl :performTraversals()
3. ViewRootImpl :performDraw()
4. ViewRootImpl :draw()
5. PhoneWindow$DecorView :draw()
6. ViewGroup :dispatchDraw()
7. ViewGroup :drawChild()
8. View :draw()
9. 延续第 5 ~ 8步 ,遍历绘制
本文深入解析了Android系统中ViewRootImpl类在视图绘制过程中的关键方法,包括doTraversal、performTraversals、performDraw、draw等核心步骤,并详细解释了其在视图层次遍历和绘制过程中的作用。
1372

被折叠的 条评论
为什么被折叠?



