Android WMS—— Surace管理 (二十)

        WMS 负责创建 Surface 以及对 Surface 的摆放工作,之后将 Surface 提交给SurfaceFlinger 进行合并。在 App 层也创建了一个 Surface 对象,但是那个是空对象,用于 WMS 的填充。

一、Surface的创建

        首先 APP 层在 ViewRootImpl 的 relayoutWindow() 方法中发起创建任务。

1、APP层Surface创建

ViewRootImpl

源码位置: /frameworks/base/core/java/android/view/ViewRootImpl.java

final IWindowSession mWindowSession;

private int relayoutWindow(WindowManager.LayoutParams params, int viewVisibility, boolean insetsPending) throws RemoteException {
    ……
    int relayoutResult = mWindowSession.relayout(mWindow, params,
                  (int) (mView.getMeasuredWidth() * appScale + 0.5f),
                  (int) (mView.getMeasuredHeight() * appScale + 0.5f), viewVisibility,
                  i

猜你喜欢

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