欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

view draw 流程分析

程序员文章站 2022-06-28 15:06:16
之前的relayout 说道返回了mSurface ,int relayoutResult = mWindowSession.relayout(//调用session 中的 relayout,又binder 调用wms relayoutWindow mWindow, mSeq, params, (int) (mView.getMeasuredWidth() * appScale + 0.5f), (int) (......

之前的relayout 说道返回了mSurface ,
int relayoutResult = mWindowSession.relayout(//调用session 中的 relayout,又binder 调用wms relayoutWindow
                mWindow, mSeq, params,
                (int) (mView.getMeasuredWidth() * appScale + 0.5f),
                (int) (mView.getMeasuredHeight() * appScale + 0.5f),
                viewVisibility, insetsPending ? WindowManagerGlobal.RELAYOUT_INSETS_PENDING : 0,
                mWinFrame, mPendingOverscanInsets, mPendingContentInsets, mPendingVisibleInsets,
                mPendingStableInsets, mPendingOutsets, mPendingBackDropFrame, mPendingConfiguration,
                mSurface
AP侧Surface 负责UI绘制,WMS侧也有Surface,负责窗口的属性控制,要全局考虑 统筹安排。
 private void performDraw() {
  try {
            draw(fullRedrawNeeded);
        } finally {
            mIsDrawing = false;
            Trace.traceEnd(Trace.TRACE_TAG_VIEW);
        }
        。。。
        

本文地址:https://blog.csdn.net/qq_42894864/article/details/107992022