Android WMS——WMS窗口更新移除(十四)

        前面通过几篇的文章详细的介绍了 Window 窗口的添加过程,这里我们简单看一下,AMS 如何实现 Window 窗口的更新和移除流程。

一、窗口更新

        这里我们从 Session 开始分析。

1、Session

源码位置:/frameworks/base/services/core/java/com/android/server/wm/Session.java

final WindowManagerService mService;

@Override
public int relayout(IWindow window, WindowManager.LayoutParams attrs,
             int requestedWidth, int requestedHeight, int viewFlags, int flags, long frameNumber,
             ClientWindowFrames outFrames, MergedConfiguration mergedConfiguration,
             SurfaceControl outSurfaceControl, InsetsState outInsetsState,
             InsetsSourceControl[] outActiveControls, Point outSurfaceSize) {

    Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, mRelayoutTag);
    int res = mService.relayoutWindow(this, window, attrs,
                 requestedWidth, requestedHeight, viewFlags, flags, frameNumber,
                 outFrames, mergedConfig

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/134166062
今日推荐