整理一下android系统的刷新机制
参考:
Android 屏幕刷新机制:
https://www.jianshu.com/p/0d00cb85fdf3
Android应用层View绘制流程与源码分析
https://blog.csdn.net/yanbober/article/details/46128379
一般刷新包括View.postInvalidate到最后都是走到View.invalidate(),然后一直向上回到ViewRootImpl根据需要进行performMeasure,performLayout,performDraw,刷新完成。
->invalidate
->invalidateInternal
->invalidateChild
->invalidateChildInParent
->ViewRootImpl.invalidateChildInParent(int[],Rect);
->ViewRootImpl.invalidateRectOnScreen(Rect);
->ViewRootImpl.scheduleTraversals();
->ViewRoot.doTraversals();
->performTraversals();
->performMeasure()
->measure()
->onMeasure()
->performLayout()
->layout
->onLayout()
->performDraw()
->draw
再往下进一步,invalidate之后立即刷新吗